Mey*_*ben 3 permissions android geolocation android-12
我在应用程序中请求 FINE_LOCATION 时遇到一些问题。我尝试阅读一些有关 ACCESS_FINE_LOCATION 的内容,我知道我应该将其与 Android 12 的 ACCESS_COARSE_LOCATION 一起询问,但每次我询问时,它似乎只向我显示“大致位置”。它甚至不要求 FINE_LOCATION。
这是我的代码
显现:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
代码:
//asking for permission inside a method
requestMultiplePermissions.launch(arrayOf(ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION ))
// registering activity for result.
activity.registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { permissions ->
if(permissions.entries.all { it.value }){
checkPermissionsAndContinue()
}else{
val deniedPermission = permissions.entries.find { !it.value }
deniedPermission?.key?.let { showPermissionDeniedDialog(it) }
}
Run Code Online (Sandbox Code Playgroud)
我尝试在 android 31 模拟器上运行,而我的手机在 android 12 上运行。结果相同。永远不会得到精细位置,只能得到粗略位置。它似乎适用于所有其他 Android 版本,只是 Android 12 的精细位置问题阻止了我。
有人知道我可以去哪里解决这个问题吗?太感谢了!
感谢lasagnakid77,我终于成功了,谢谢!
只需将 tools:remove="android:maxSdkVersion" 添加到 LOCATION_PERMISSION 中,如下所示:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" tools:remove="android:maxSdkVersion" />
Run Code Online (Sandbox Code Playgroud)
这里有一个很好的解释:Android 12 not shown Correct requests request screen
归档时间: |
|
查看次数: |
4521 次 |
最近记录: |