安卓6.0开发申请定位权限始终允许代码
时间: 2024-02-28 22:57:14 浏览: 13
在Android 6.0及以上版本中,申请定位权限需要动态申请,可以通过以下代码实现申请定位权限并始终允许:
```
// 判断是否已经授权定位权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// 如果未授权,则申请定位权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
} else {
// 如果已经授权,则执行定位操作
// ...
}
// 处理用户授权结果
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == 1) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户授权定位权限,执行定位操作
// ...
} else {
// 用户拒绝定位权限,提示用户手动开启权限
Toast.makeText(this, "定位权限被禁止,请手动开启", Toast.LENGTH_LONG).show();
}
}
}
```
上述代码中,使用了ContextCompat.checkSelfPermission()方法判断是否已经授权定位权限,如果未授权,则调用ActivityCompat.requestPermissions()方法申请定位权限,并在onRequestPermissionsResult()方法中处理用户授权结果。如果用户授权定位权限,则执行定位操作;如果用户拒绝定位权限,则提示用户手动开启权限。