android - 使用 LocationManager 检查权限的服务

标签 android service permissions locationmanager android-6.0-marshmallow

我需要将位置发送到服务器。 这是我的服务等级:

lm.requestLocationUpdates(PROVIDER, 600000, 0, myLocationListener);

但我不知道如何调用它,因为这需要检查权限。

有什么建议吗?

最佳答案

检查权限不会改变,只是因为您正在使用服务。对服务本身调用 checkSelfPermission()

的不同之处在于您不能向用户请求许可服务。

涵盖大多数用例的最佳解决方案是在启动(或绑定(bind)到)服务之前检查您的 Activity/fragment 中的权限,如果不这样做,则向用户征求权限有它。

或者,让您的服务显示一个Notification,它会导致您可以在其中请求用户许可的 Activity 。该 Activity 将需要重新请求服务以在此时完成其工作,因此该服务知道调用 requestLocationUpdates() 是安全的。

关于android - 使用 LocationManager 检查权限的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34133495/

相关文章:

python - "import safe"在 Python 中是什么意思?

c# - 如何以编程方式确定我是否具有对数据库的执行权限?

Android - 文本到语音确定进程结束

ajax - Angular 4 : Using mockRespond with RxJS Observables

Android-手机之间的UDP连接

android - 后台服务限制 Android 和 voip 应用程序

java - 我的自定义异常不返回异常代码(代码始终返回 500)

android - 是否可以通过 NFC 一键连接两个 Android 设备交换数据?

android - 什么时候应该在 Flash 中使用 CPU 或 GPU 编译器选项?