1.首先要声明广播java
private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) //onReceive函数不能作耗时的事情,参考值:10s之内 { Log.d("scott", "on receive action="+intent.getAction()); String action = intent.getAction(); if (action.equals("com.scott.sayhi")) { showDialog("on receive action="+intent.getAction()); } } };
2.其次要注册广播,有两种方式:xml注册和代码注册android
xml注册:ide
<receiver android:name="com.scott.sayhi.MyBroadcastReceiver" >
<intent-filter>
<action android:name="com.scott.sayhi" />
</intent-filter>
</receiver>
函数
代码注册:this
IntentFilter filter = new IntentFilter();
filter.addAction("com.scott.sayhi");
MyActivity.this.registerReceiver(mBroadcastReceiver, filter);spa
上述2个步骤就能够了。code
3.发送广播xml
Intent intent = new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction("com.scott.sayhi"); MyActivity.this.sendBroadcast(intent);
4.收听开机广播get
intent-filter设置以下便可
it
<intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.HOME" /> </intent-filter>