Android如何实现Service不被销毁

android 怎么实现QQ或者微信那种杀不死的服务,运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill,这可真是一个难题。

就是所说的Service保活,现在Google开发的Android系统,对这方面做优化,是不允许应用长期后台的Service运行的。
现在国内一些大的应用厂商都是跟手机生产厂商联系,签订白名单,手机生产厂商定制出手机UI时就对那些应用白名单,能后台运行。
我前一段时间写过一个应用,用到了Service后台保活,Android里写两个Service,例如:Service1,Service2
当Service1被onDestroy时,让它开启Service2,当Service2被onDestroy时,让它再开启Service1。Service1和Service2代码一样即可。

// Service1的
 @Override
    public void onDestroy() {
        Intent i = new Intent(this, Service2.class);
        startService(i);
        super.onDestroy();
    }

    // Service2的
    @Override
    public void onDestroy() {
        Intent i = new Intent(this, Service1.class);
        startService(i);
        super.onDestroy();
    }

感觉也可以在service中开启一个1像素的activity,让进程始终属于前台进程,呗回收的可能性也会很小吧

现在限制很严格了,基本上最划算的方法就是注册一个前台服务。后台服务在 7.0,8.0 一定是会被杀死的,qq 微信 支付宝都不能幸免