Android App如何做到永远不会被杀死?在我的一个群里面,经常有人这样问。
那么到底该怎么做到进程不死呢?
测试过一些框架,在5.0系统之后就会被杀死,到目前为止,能做到不死进程的,少之又少,一些大公司自然有自己的黑科技,保证进程不死,但是技术没有开源,这让我们这些小白很是苦恼。
那么,作为一个小白,我们怎么让进程不死呢?
在大部分人的想法中,使用守护进程可以做到,但是,在5.0之后,这个方法失效了。
其实系统的进程是不会被杀死的,那加入系统“白名单”是不是也可做到?
来试试如何?
真正意义上的加入系统白名单是需要手机厂商的支持,但是我们目前没有这个能力,只能做个伪白名单。很简单,将app绑定系统服务就行啦。接下来,我们看看具体的实现吧:
首先我们需要去绑定系统服务:
1、继承NotificationListenerService,服务内部不需要做实现即可:
/**
* 监听系统通知,需要用户手动开启权限,那么该进程可以不死
*/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public class MyListenerService extends NotificationListenerService {
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
}
}
2、当然还需要在清单文件中注册服务,然后去绑定系统服务:
<!--绑定系统服务-->
<service
android:name=".service.StepCounterService"
android:exported="true"
android:process=":pedometer">
</service>
3、最后,去打开通知使用权就OK了。
相信你已经安奈不住心中的好奇了吧,感觉来试试吧。
参考博客:Android进程保活之绑定系统服务
如果本博客对你有所帮助,欢迎前来“践踏”。