Android 12将位置权限认证对话框更新为了设备隐私和安全中心的新UI。该隐私和安全中心放置了与位置有关的所有信息,以及让用户授权应用程序访问位置的选项。然而,在某些情况下,应用程序不能展示位置权限对话框。
要在Android 12中正确展示位置权限对话框,您需要使用新的权限库,并更新Manifest文件。以下是解决方法的示例代码:
添加如下依赖项到 gradle 文件中:
dependencies {
implementation 'com.google.android.gms:play-services-location:18.0.0'
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
}
在 Manifest 文件的application标记中添加以下代码:
在Activity或Fragment中添加以下代码:
if (ContextCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
REQUEST_CODE_LOCATION_PERMISSION);
} else {
// You Have Location Permission
}
上述代码检查是否有位置权限。 如果权限被拒绝,将通过“onRequestPermissionsResult”处理权限请求。 如果权限已授予,请执行其他操作。
希望上述示例代码能帮助您在Android 12中正确展示位置权限对话框。