如何从Android棉花糖中的服务请求权限

在Android Marshmallow中,应在需要时在运行时请求权限,而不是在安装应用程序时立即请求所有权限。但是,我似乎只能向活动请求权限,这是一个问题,因为我的应用程序仅包含服务。(为什么会这样,您可能会问?该应用程序内部捆绑了一个Android Wear表盘,并且所有手机所做的只是查找附近的照片以发送至手表-无需进行“活动”。但它确实需要位置权限。)


因此,有什么方法可以向服务请求权限吗?还是以某种方式强制像过去一样在安装时授予权限?


慕运维8079593
浏览 574回答 3
3回答

哆啦的时光机

requestPermission()只能从Activity和调用Service(不同于checkPermission()仅要求PackageManager)。因此,您需要做一些额外的工作来解决该问题;您确实需要Activity在应用程序中提供,例如,您Service可以检查所需的权限,如果尚未授予权限,它可以创建通知,并可以向用户提供描述性的简短消息,说明为什么存在通知以及当他们单击通知时需要做什么等

慕田峪9158850

我同意,这对于服务非常麻烦,我认为您应该为此在Android Developer Preview页面上报告问题。目前,我认为最好的解决方案是检查服务许可,如果缺少许可则显示通知。更好的是,创建一个DialogActivity以在用户按下通知时请求权限。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android