我需要将位置发送到服务器。 这是我的服务等级:
lm.requestLocationUpdates(PROVIDER, 600000, 0, myLocationListener);
但我不知道如何调用它,因为这需要检查权限。
有什么建议吗?
最佳答案
检查权限不会改变,只是因为您正在使用服务。对服务本身调用 checkSelfPermission()
。
的不同之处在于您不能向用户请求许可服务。
涵盖大多数用例的最佳解决方案是在启动(或绑定(bind)到)服务之前还检查您的 Activity/fragment 中的权限,如果不这样做,则向用户征求权限有它。
或者,让您的服务显示一个Notification
,它会导致您可以在其中请求用户许可的 Activity 。该 Activity 将需要重新请求服务以在此时完成其工作,因此该服务知道调用 requestLocationUpdates()
是安全的。
关于android - 使用 LocationManager 检查权限的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34133495/