【问题标题】:Not Requesting Android Permissions in Marshmallow不在 Marshmallow 中请求 Android 权限
【发布时间】:2016-02-17 19:56:56
【问题描述】:
只是想知道对于尚未实现请求对话框的应用或对于较旧的应用,保持它不实现有什么影响或副作用?
谢谢。
【问题讨论】:
标签:
android
permissions
android-6.0-marshmallow
【解决方案1】:
如果您的targetSdkVersion 低于 23,则生活或多或少会正常。安装时将提示用户提供权限。但是,用户仍然可以进入“设置”并撤销这些权限。受影响的 API 基本上变成了“无操作”:
- 如果用户撤销对联系人的访问权限,则联系人查询返回空光标
- 如果用户撤销对位置的访问权限,则尝试获取 GPS 修复永远不会得到修复
- 等
大多数情况下,这些都是您应该已经处理的边缘情况(例如,设备位于地下停车场,无法获得 GPS 定位)。
如果您的 targetSdkVersion 为 23 或更高,则您在任何地方都会失败,并获得 SecurityException 权限,因为您没有在运行时向用户请求它们。
这个故事的寓意:只有在您准备好花时间处理运行时权限时,才将您的 targetSdkVersion 设置为 23 或更高。