使用 LocationManager 检查权限的服务
Service with LocationManager check for permission
我需要将位置发送到服务器。
这是我的服务 class:
lm.requestLocationUpdates(提供商, 600000, 0, myLocationListener);
但我不知道如何调用它,因为这需要检查权限。
请推荐一下?
检查权限不会改变,只是因为您正在使用服务。在服务本身上调用 checkSelfPermission()
。
的不同之处在于,您无法向用户请求来自服务的许可。
涵盖大多数用例的最佳解决方案是在启动(或绑定到)服务之前还检查activity/fragment中的权限,并询问如果您没有权限,请用户获取权限。
或者,让您的服务显示一个 Notification
,该 Notification
指向一个 activity,您可以在其中请求用户许可。 activity 需要重新请求服务在此时完成其工作,因此服务知道调用 requestLocationUpdates()
.
是安全的
我需要将位置发送到服务器。 这是我的服务 class:
lm.requestLocationUpdates(提供商, 600000, 0, myLocationListener);
但我不知道如何调用它,因为这需要检查权限。
请推荐一下?
检查权限不会改变,只是因为您正在使用服务。在服务本身上调用 checkSelfPermission()
。
的不同之处在于,您无法向用户请求来自服务的许可。
涵盖大多数用例的最佳解决方案是在启动(或绑定到)服务之前还检查activity/fragment中的权限,并询问如果您没有权限,请用户获取权限。
或者,让您的服务显示一个 Notification
,该 Notification
指向一个 activity,您可以在其中请求用户许可。 activity 需要重新请求服务在此时完成其工作,因此服务知道调用 requestLocationUpdates()
.