首页 > Java > java教程 > 如何在Android中请求运行时位置权限?

如何在Android中请求运行时位置权限?

Susan Sarandon
发布: 2024-12-14 12:58:11
原创
458 人浏览过

How to Request Runtime Location Permissions in Android?

如何在运行时请求位置权限

在您的代码中,您正确检查位置权限并处理没有权限的情况的确。但是,要在运行时实际请求权限,您需要使用 ActivityCompat.requestPermissions。

这是更正后的 MainActivity:

public class MainActivity extends AppCompatActivity implements LocationListener {

    // ... (rest of your code)

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED ||
            ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_CODE);
        } else {
            // Permissions already granted
            // ...
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (requestCode == PERMISSION_REQUEST_CODE) {
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
                // Permissions granted
                // ...
            } else {
                // Permissions denied
                // ...
            }
        }
    }

    // ... (rest of your code)

}
登录后复制

其中 PERMISSION_REQUEST_CODE 是一个整数常量,您可以定义以轻松引用权限请求。

附加注意事项

  • 确保将位置权限添加到 AndroidManifest.xml 文件中:
<manifest ...>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
登录后复制
  • 如果您在库中遇到此问题项目,请确保也在库的 AndroidManifest.xml 文件中声明权限。

以上是如何在Android中请求运行时位置权限?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板