是否可以通过手机设置授予附近的API权限?
如果需要,请继续阅读以获取更多信息:)
如果在运行API级别23或更高级别的设备上安装了针对API级别23或更高级别的应用,则可以通过两种不同的方式授予或撤消对需要危险权限的操作的访问权限:
requestPermissions
会导致向用户显示提示; 特别是,拒绝通过机制#1请求(至少)两次的权限的用户,以及在最近显示的提示中检查过“永不再询问”的用户:
仍然可以选择在稍后使用机制#2授予该权限。
当应用程序希望使用Nearby Messages API时,可以使用类似于(但不同于)#1的机制来request the necessary permissions at runtime。据我所知,这些权限未在任何标准危险权限组中表示。
就像典型的危险权限一样,用户可以指示应用程序“从不再询问”附近的API权限(例如Pocket Casts;运行API 23的设备):
但是,如果用户选择此选项,它似乎是完全永久的。以下是Pocket Casts列出的权限组,在拒绝访问“附近的API”并且“再次询问”后立即检查:
唯一存在危险的权限组是存储,仍然授予访问权限。没有附近API权限的迹象,因此我看不到在达到此状态后如何才能授予对这些权限的访问权限...(除了卸载并重新安装应用程序,这不太理想!)
在最近的测试中,我似乎无法永久否认“附近”权限。即使在第一次拒绝后,也不会出现“永不再问”复选框。我猜这是通过手机上运行的Google Play服务版本的更改引入的。这是权限对话框现在的样子。请注意,它包含与查找“附近”权限设置相关的特定说明!
答案 0 :(得分:5)
作为pointed out by Morrison Chang in the comments,附近的API权限控制位于“设置” - >下。谷歌。这是一个动画gif,展示了如何在逐个应用的基础上授予对Nearby API的访问权限,从运行Marshmallow的Nexus 6的设置屏幕开始:
作为开发人员,事后看来这对我来说很有意义 - 这是附近权限管理可以向后移植到Marshmallow之前设备的唯一方法。但是,作为一个用户,我肯定发现这令人困惑!