android - 延迟android请求权限
问题描述
我有一个应用程序,其中包含<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
有没有办法延迟向用户询问位置权限,直到他们使用需要它的帐户?我已经尝试从 XML 中删除使用权限,即使在以编程方式请求位置权限之后,这也会破坏位置。
我确实以编程方式询问位置信息,但这似乎只有在 XML 中也指定了权限时才有效。
解决方案
我假设您在定位于 Android 6.0 以下时遇到这种情况?
Android 6.0 Marshmallow 引入了一种新的权限模型,允许应用在运行时而不是在安装之前向用户请求权限。当应用实际需要服务或受服务保护的数据时,支持新模型的应用会请求权限。
因此,除非您针对更高的 API 级别,否则您将无法避免在用户实际需要使用该特定服务之前请求权限。
推荐阅读
- forms - Saving Form Data to Custom Table
- selenium - Retrieve output log when test fails during setup
- regex - Azure 静态网站的 URL 应该没有尾随 /
- erlang - 如何从 Erlang/Elixir 中的 ets 集中选择一个随机元素?
- android - 将文本放在 CircularProgressIndicator 的中心
- excel - Excel 饼状图,第二个饼图总和为 100%
- git - 在本地而不是从在线 github 存储库中删除文件
- android - 颤振范围错误:无效值:....,包括:-1
- tensorflow - 对象检测上的 Sigmoid 与 Softmax 交叉熵
- ios - 快速检测从照片库中删除的图像