根据谷歌的文档重新。Android 12,如果针对 31,您必须进行一些权限请求更改(再次...),此处提到
更具体地说:
此外,如果您的应用以 Android 12 或更高版本为目标,您不能自行请求 ACCESS_FINE_LOCATION 权限。您还必须请求 ACCESS_COARSE_LOCATION 权限,并且必须在单个运行时请求中包含这两个权限。如果您尝试仅请求 ACCESS_FINE_LOCATION,系统会忽略该请求并在 Logcat 中记录以下错误消息:
必须使用 ACCESS_COARSE_LOCATION 请求 ACCESS_FINE_LOCATION。
但是,我不能为我的生活复制这一点。我在我的清单(targetSdkVersion 31)中以 Android 12 为目标,并在 12 模拟器上运行它,但我只能像往常一样请求 FINE 权限,而且我仍然获得权限 - 或粗略,具体取决于用户选择的内容,因为这是 12 中的新功能。但是日志中没有任何内容,也没有问题,我的位置代码像以前一样工作。
他们改变立场了吗?我错过了其他一些文档吗?
想法赞赏。