AndroidManifest內(nèi):
1碌冶、添加接收開(kāi)機(jī)廣播的權(quán)限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2、聲明一個(gè)開(kāi)機(jī)廣播接收器咆疗,需要添加兩個(gè)廣播
android.media.AUDIO_BECOMING_NOISY 是開(kāi)機(jī)鈴聲廣播忱屑,有的手機(jī)不加這個(gè)的話,BOOT_COMPLETED好像收不到
<receiver
android:name=".receiver.BootReceiver"
android:exported="false">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.media.AUDIO_BECOMING_NOISY" />
</intent-filter>
</receiver>
3壳坪、廣播接收處理
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
KLog.i("BootReceiver 收到廣播 : " + action);
if (Intent.ACTION_BOOT_COMPLETED.equals(action)) {
KLog.i("收到開(kāi)機(jī)廣播舶得,啟動(dòng)程序");
Intent thisIntent = new Intent(context, SplashActivity.class);
thisIntent.setAction("android.intent.action.MAIN");
thisIntent.addCategory("android.intent.category.LAUNCHER");
thisIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(thisIntent);
}
}
}
注:廣播在源碼位置:
AudioManager.ACTION_AUDIO_BECOMING_NOISY