Android 8.0(+)不允许在后台启动/创建Service
https://blog.csdn.net/Mike_Modern/article/details/80024464
Android 8.0(+)不允许在后台启动/创建Service,直接调用context.startService(intent)
会宕机。
- 临时解决办法:
将编译版本和目标版本降级到25,就可以避免因为8.0(26)不允许APP在后台启动Service而宕机。因为系统版本向后兼容。
- 根本解决办法:
1、SDK26 启动Service的方法:context.startForegroundService(context, Service.class);
2、SDK26 Service启动时,即在onCreate方法中,context.startForeground(id, new Notification());
Android8.0后,当App targetSDK >= 26,几乎禁止了所有的隐式广播的静态注册监听。
https://www.freesion.com/article/6763314871/
https://blog.csdn.net/weixin_55806809/article/details/121125981
如果让静态广播收到,发送广播时需要添加:
intent.setComponent(new ComponentName("包名", "包名.类名"));//应用间广播
或
intent.setClassName("包名", "包名.类名");//应用内广播
0 条评论