问题描述
我试图通过处理权限对话框中的大致位置情况来符合 Android 12 对位置权限的更改。但是当在带有 Android S (android-S\google_apis\x86_64) 的枚举器上运行它时,我仍然得到与以前版本的 android 相同的对话框:
这是我的设置:
android {
compileSdkVersion "android-S"
buildToolsversion "30.0.3"
defaultConfig {
minSdkVersion 23
targetSdkVersion "S"
...
}
...
}
遵循文档中的确切示例:https://developer.android.com/about/versions/12/approximate-location
val locationPermissionRequest = registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions()
) { permissions ->
when {
permissions.getorDefault(Manifest.permission.ACCESS_FINE_LOCATION,false) -> {
// Precise location access granted.
}
permissions.getorDefault(Manifest.permission.ACCESS_COARSE_LOCATION,false) -> {
// Only approximate location access granted.
} else -> {
// No location access granted.
}
}
}
locationPermissionRequest.launch(arrayOf(
Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION))
知道缺少什么才能获得新的位置权限对话框吗?
编辑:
Build.VERSION.SDK_INT = 30
Build.VERSION.RELEASE = "11"
Build.VERSION.PREVIEW_SDK_INT = 1
Build.VERSION.RELEASE_OR_CODENAME = "S"
解决方法
我使用 Android S Preview
Android SDK Platform S revision 5
让它工作,之前在 SDK 管理器中有 revision 4
。
它正在使用上面发布的 Build.VERSION.SDK_INT 等。
但网络连接问题似乎仍然存在:Emulator for Android 12 preview no connection