当前位置:   article > 正文

android 8.0适配_startforeground 需要 权限 安卓8

startforeground 需要 权限 安卓8

1.启动服务

startService()抛异常: RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground()

解决方法:

a.

  1. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
  2. context.startForegroundService(new Intent(context,clzz));
  3. } else {
  4. context.startService(new Intent(context,clzz));
  5. }

b.在服务的onCreate方法里添加  

  1. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
  2. startForeground(1, new Notification());
  3. }

2.注册广播

在Android 8.0的平台上,对隐式广播做了限制(系统发送的广播都是隐式广播),不能在AndroidManifest文件对有些广播进行静态注册,这里必须强调是有些广播,因为豁免广播还是能够注册的

a. 静态注册,也就是说在AndroidManifest文件中对BroadcastReceiver进行注册,通常还会加上action用来过滤。

b. 动态注册,调用Context中的registerReceiver对广播进行动态注册,使用unRegisterReceiver方法对广播进行取消注册的操作。

3.安装未知来源应用,需要添加权限:

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

注意:只有添加此权限,应用才会在安装未知来源应用列表中出现,安装才会出现安装提示,否则即使打开安装未知来源应用也没用

4.activity设置透明主题又设置方向会导致应用崩溃:

错误示例:

解决方法:取消透明主题的设置或者不要限制activity的方向

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/464566
推荐阅读
相关标签
  

闽ICP备14008679号