黑色保活(多进程保活一)

1 利用系统广播保活

以下示例是通过添加系统开机的广播接受者来启动进程。

<receiver android:name=".MyReceiver">
       <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED"/>
       </intent-filter>                
</receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("hh","监控开机成功");
        Toast.makeText(context,"开机成功",Toast.LENGTH_LONG).show();
        Intent intent1 = new Intent(context,MainActivity.class);
        intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent1);
    }
}

2 利用自定义的广播

利用自定义的广播实现和利用系统广播实现的原理基本一致,只不过这个广播是自定义的。该种场景适宜于手机安装有多款自研的APP或者手机安装有自研的相关SDK。
举例来说,阿里系的任何一款应用只要你安装了以后就会发出广播,相关阿里系的产品就会收到相应广播,从而启动进程;又或者手机中有一款APP使用了阿里系的SDK,该App在启动时也可能发出广播。

猜你喜欢

转载自blog.csdn.net/weixin_40876113/article/details/80887903