写app的时候经常希望某个service可以常驻内存,但是在系统内存低的时候还是不可避免的被杀掉,为了降低被杀掉的概率,一般的解决方式是通过startForeground()将service设置成前台运行。但是从android 5.0开始,前台运行的service必须在通知栏有一个常驻通知,点都点不掉,试想一下如果每个app都在通知栏有一个常驻通知的恐怖场景。。。
那么有没有办法去除掉这个常驻通知呢?答案是肯定的,需要用一些tricky的办法。
首先写一
在Android中,使用startForeground()可以使Service常驻内存,但会强制在通知栏显示通知。从Android 5.0开始,这是一个强制要求。本文介绍了如何通过巧妙的方法在显示通知后立即移除它,通过两个Service共享同一个通知ID实现。首先启动一个BootstrapService,该Service立即停止自身,从而触发stopForeground()移除通知。然后,主Service保持在前台运行,不受影响。这种方法可能是个漏洞,但目前仍然有效。
写app的时候经常希望某个service可以常驻内存,但是在系统内存低的时候还是不可避免的被杀掉,为了降低被杀掉的概率,一般的解决方式是通过startForeground()将service设置成前台运行。但是从android 5.0开始,前台运行的service必须在通知栏有一个常驻通知,点都点不掉,试想一下如果每个app都在通知栏有一个常驻通知的恐怖场景。。。
那么有没有办法去除掉这个常驻通知呢?答案是肯定的,需要用一些tricky的办法。
首先写一

被折叠的 条评论
为什么被折叠?