如何在后台服务中设置marshmallow及以上的权限?

时间:2017-02-28 14:34:34

标签: android android-service android-maps-v2

我正在接受服务,我从后台服务获得经纬度。代码工作正常但不能在棉花糖及以上工作 因为我需要设置权限,但我没有得到如何在marshmallow中设置权限。

这是我的服务类

 forEach({element in
   // do what you need
 })

2 个答案:

答案 0 :(得分:1)

您无法单独请求服务的权限。但是你的问题实际上是不同的 - 无论权限状态如何都启动服务,这是错误的。您需要先修复逻辑并检查权限。如果你获得了它 - 启动服务。如果没有,请让用户知道您的应用是否必须工作,让他决定退出或授予。

答案 1 :(得分:0)

您无法从服务请求运行时权限。您可以调用checkSelfPermission()来查看您是否拥有运行时权限,但就是这样。

在活动启动服务之前检查您是否拥有正确的运行时权限。然后,如果服务确定具有权限(例如,用户从“设置”中撤消了这些权限),请引发Notification,引导用户返回活动。