需要注意的是,监听系统广播,需要使用 registerReceiver()
而不是 LocalBroadcastManager
注册,后者的注册只能监听到该apk内动态注册的广播。系统自启动广播目前只支持系统apk监听。
public class BootCompletedReceiver extends BroadcastReceiver {
private static final String TAG = BootCompletedReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
Log.i(TAG, "system boot completed");
// 监听到系统启动后,app做一些处理...
}
}
}
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name=".receiver.BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>