如何从Android Marshmallow中的服务请求权限?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (9)

在Android Marshmallow中,应该在运行时需要权限,而不是在安装应用程序时一次性完成。但是,我似乎只能从一个活动请求权限,这是一个问题,因为我的应用只包含服务。

那么,有没有办法从服务请求权限?或者以某种方式强制安装时授予权限,就像过去一样?

提问于
用户回答回答于

我认为最好的解决方案是检查服务许可,并在权限丢失时显示通知。更好的是,当用户按下通知时,创建一个DialogActivity来请求权限。

用户回答回答于

requestPermission()只能从一个Activity而不是一个Service(不同于checkPermission()只需要PackageManager)调用。所以你需要做一些额外的工作来解决这个问题。你确实需要Activity在你的应用中提供一个,例如,你Service可以检查其所需的权限,如果尚未授予它的权限,它可以创建一个通知,并可以通过描述性的简短消息告知用户为什么有通知以及点击通知时需要发生的事情等。

扫码关注云+社区