是否可以通过 phone 设置授予 Nearby API 权限?
Is it possible to grant Nearby API permissions from phone settings?
问题
是否可以通过 phone 设置授予附近 API 权限?
- 如果是,怎么做?
- 答案是否因设备 API 级别而异?
如果需要,请继续阅读以获取更多上下文:)
一般背景
当目标 API 级别 23 或更高级别的应用程序安装在设备 运行 API 级别 23 或更高级别时,可以授予或撤销对需要危险权限的操作的访问权限用户以两种不同的方式:
- 当应用程序 运行 在前台时,调用
requestPermissions
会导致向用户显示提示;
- 从“设置”->“应用”屏幕,用户可以在其中 grant/revoke 逐个或 group-by-group 访问需要危险权限的操作。
特别是,拒绝了通过机制 #1 请求(至少)两次的权限,并且在最近显示的提示中检查了 'Never ask again' 的用户:
以后仍然可以选择使用机制 #2 授予该权限。
附近API背景
当应用程序希望使用附近消息时 API,可以使用类似于(但不同于)#1 的机制 request the necessary permissions at runtime。据我所知,这些权限未在任何标准 dangerous 权限组中表示。
就像典型的危险权限一样,用户可以指示应用程序 'Never ask again' 以获得附近的 API 权限(来自 Pocket Casts 的示例;设备 运行 API23):
但是,如果用户选择此选项,它似乎是完全永久的。以下是在拒绝访问 Nearby APIs 并选中 'Never ask again' 后立即列出的 Pocket Casts 权限组:
存在的唯一危险权限组是存储,仍然授予访问权限。没有 Nearby API 权限的迹象,因此我看不出在达到此状态后如何授予对这些权限的访问权限......(除了卸载和重新安装应用程序,这是'太理想了!)
编辑
在最近的测试中,我似乎无法永久拒绝“附近”权限。即使在第一次拒绝之后,"Never ask again" 复选框也不会出现。我猜这是由于 Google Play Services 版本 运行 在我的 phone 上的变化引起的。这是权限对话框现在的样子。请注意,它包含与查找“附近”权限设置相关的具体说明!
作为,附近的API 权限控制位于设置-> Google 下。这是一个动画 gif,显示如何在逐个应用程序的基础上授予对附近 APIs 的访问权限,从 Nexus 6 运行 Marshmallow 的设置屏幕开始:
作为开发人员,事后看来这对我来说很有意义 - 这是将附近的权限管理移植到 Marshmallow 之前的设备的唯一方法。但是,作为用户,我确实觉得这很令人困惑!
问题
是否可以通过 phone 设置授予附近 API 权限?
- 如果是,怎么做?
- 答案是否因设备 API 级别而异?
如果需要,请继续阅读以获取更多上下文:)
一般背景
当目标 API 级别 23 或更高级别的应用程序安装在设备 运行 API 级别 23 或更高级别时,可以授予或撤销对需要危险权限的操作的访问权限用户以两种不同的方式:
- 当应用程序 运行 在前台时,调用
requestPermissions
会导致向用户显示提示; - 从“设置”->“应用”屏幕,用户可以在其中 grant/revoke 逐个或 group-by-group 访问需要危险权限的操作。
特别是,拒绝了通过机制 #1 请求(至少)两次的权限,并且在最近显示的提示中检查了 'Never ask again' 的用户:
以后仍然可以选择使用机制 #2 授予该权限。
附近API背景
当应用程序希望使用附近消息时 API,可以使用类似于(但不同于)#1 的机制 request the necessary permissions at runtime。据我所知,这些权限未在任何标准 dangerous 权限组中表示。
就像典型的危险权限一样,用户可以指示应用程序 'Never ask again' 以获得附近的 API 权限(来自 Pocket Casts 的示例;设备 运行 API23):
但是,如果用户选择此选项,它似乎是完全永久的。以下是在拒绝访问 Nearby APIs 并选中 'Never ask again' 后立即列出的 Pocket Casts 权限组:
存在的唯一危险权限组是存储,仍然授予访问权限。没有 Nearby API 权限的迹象,因此我看不出在达到此状态后如何授予对这些权限的访问权限......(除了卸载和重新安装应用程序,这是'太理想了!)
编辑
在最近的测试中,我似乎无法永久拒绝“附近”权限。即使在第一次拒绝之后,"Never ask again" 复选框也不会出现。我猜这是由于 Google Play Services 版本 运行 在我的 phone 上的变化引起的。这是权限对话框现在的样子。请注意,它包含与查找“附近”权限设置相关的具体说明!
作为
作为开发人员,事后看来这对我来说很有意义 - 这是将附近的权限管理移植到 Marshmallow 之前的设备的唯一方法。但是,作为用户,我确实觉得这很令人困惑!