我在我的应用程序中请求 FINE_LOCATION 时遇到了一些问题。 我试图阅读一些关于 ACCESS_FINE_LOCATION 的内容,我知道我应该将它与 ACCESS_COARSE_LOCATION 一起用于 android 12,但每次我询问时它似乎只显示“大概位置”。它甚至不要求提供 FINE_LOCATION。
这是我的代码
list :
<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" />
代码:
//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) }
}
我尝试在 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" />
这里有一个很好的解释:Android 12 not showing correct permissions request screen
关于android - ACCESS_FINE_LOCATION 对话框不显示 android 12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70869174/