Android前台服务保活

现状

由于各种App后台常驻,互相唤醒的泛滥,google越来越严格的限制了App在后台长时间活动。在高版本android中,几乎没有任何手段可以100%保证app后台长期存在。与其研究各种复杂而效果不见得好的灰色保活手段,在一些需求中不妨考虑前台保活。除了通知栏会有一个提示外,前台保活的稳定性非常高,并且是官方认可的手法。

前台保活

目前各大厂商android版本已经更新到android8.0也就是api26,在android8.0上创建前台服务需要使用startForegroundService()方法,然后必须在service中的oncreate()中调用startForeground()设置notification.否则5s后将会抛出 null Notification 或者 did not then callService.startForeground异常

1.首先创建一个服务
2.在服务中的oncreate()方法中创建notification(8.0中最好使用NotificationChannel()方法并且一定要设置notification的id),然后用startForeground()方法传入notification.
3.调用startForegroundService()启动服务
4.为了防止最近任务清理内存杀死应用,还可以在Mainifest中设置android:excludeFromRecents="true" 属性使应用不显示在最近任务列表中防止被用户清除.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容