1

我已经在课堂上使用本教程设置了信标背景扫描,但在Marshmallow运行设备中它显示了以下日志:BaseApplication

Caught a RuntimeException from the binder stub implementation.
java.lang.SecurityException: Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission to get scan results

最后,有了这个这个参考,我能够为 Marshmallow 运行设备提供位置访问权限以检测信标。

我的问题:

即使我授予 Location 访问权限,它也不会检测到信标,并且也会停止显示在 Log 上方。是不是这个ISSUE中的问题。我的 Nexus 5 内部版本号是MRA58N

更新:当我手动打开位置时,它现在可以工作了。但这很奇怪。检测信标是否正确?

4

1 回答 1

3

Android Marshmallow 引入了一个全新的应用程序权限,用户现在可以随时撤销运行时权限。这意味着您不能假设应用程序有权访问该权限,即使之前已授予该权限。你可以参考这个库或者这个指南。并且您可以在启用 GPS 后创建接口侦听器位置更改,当位置!= 0 时。启用 GPS 后,您必须恢复。我希望这会帮助你。

于 2015-11-26T07:24:11.187 回答