Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
服务能否在Android M中请求权限?_Android_Android Permissions_Android 6.0 Marshmallow - Fatal编程技术网

服务能否在Android M中请求权限?

服务能否在Android M中请求权限?,android,android-permissions,android-6.0-marshmallow,Android,Android Permissions,Android 6.0 Marshmallow,我认为在M requestPermissions()中,只能由活动类调用。我有一个没有UI屏幕的应用程序。它作为后台服务运行。这是否意味着如果checkSelfPermissions返回被拒绝,我必须放置一个微调屏幕 我有一个没有UI屏幕的应用程序 然后它将永远不会运行,除非它预先安装在Android设备或自定义ROM上,或者它是其他应用程序的插件。否则,你的应用程序将永远处于停止状态。几乎所有通过普通渠道发布的应用程序,包括Play Store,都需要活动 这是否意味着如果checkSelfP

我认为在M requestPermissions()中,只能由活动类调用。我有一个没有UI屏幕的应用程序。它作为后台服务运行。这是否意味着如果checkSelfPermissions返回被拒绝,我必须放置一个微调屏幕

我有一个没有UI屏幕的应用程序

然后它将永远不会运行,除非它预先安装在Android设备或自定义ROM上,或者它是其他应用程序的插件。否则,你的应用程序将永远处于停止状态。几乎所有通过普通渠道发布的应用程序,包括Play Store,都需要活动

这是否意味着如果checkSelfPermissions返回被拒绝,我必须放置一个微调屏幕

我不知道什么是“旋转屏幕”。另外,对于需要运行时权限的服务,推荐的模式是:

  • 发出
    通知
    ,让用户知道,没有此权限,服务无法执行其工作

  • 通知
    触发可以调用
    requestPermissions()
    活动
    。或者,此活动可以具有
    主题.transparent.NoTitleBar
    ,因此唯一可见的UI是权限对话框

  • 如果
    onRequestPermissionResult()
    表示您拥有该权限,则活动可以通知服务继续(例如,通过调用
    startService()
    ),然后
    finish()
    本身。如果
    onRequestPermissionResult()
    表示用户拒绝了该权限,请执行任何有意义的操作(例如,再次显示
    通知,优雅地关闭,建议用户卸载该应用程序)


  • 此外,您必须知道,用户可以随时从“设置”页面关闭应用程序的某些权限。很抱歉造成混淆,我是一名OEM开发人员,正在处理预安装的系统应用程序。APK没有UI/活动,它向其他应用程序提供AIDL。