android中如何發送一個廣播

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>

相關文章
相關標籤/搜索