练就你app的不死之身

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进程保活之绑定系统服务

如果本博客对你有所帮助,欢迎前来“践踏”。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值