廣播機制實現
有時需要將資料廣播給大家,這時需要應用廣播機制原理。所謂Android廣播與現實中廣播有點相似,就是把訊息傳給所有人。如果自己需要這個廣播訊息的話,就接受處理。否則就不理睬。但是怎樣才知道自己需不需要呢?為了實現這個,Android引入“動作”。如果廣播者和接受者持有同樣的動作的話,那麼接受者將接受這個廣播,並處理這個廣播訊息,這就是廣播實現原理。
1、如何發送廣播的?
Intent intent=new Intent("com.music.activities.seekBar");//這裡定義動作;sendBroadcast(intent);//發送廣播
2、接著就是定義廣播處理。
private class SeekBarBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {}}
這裡onReceive是處理廣播訊息的。
3、可能一個應用有N多個廣播,根本不知道要處理哪個廣播?這個需要引用廣播註冊,廣播註冊作用是使接受者和廣播者持有相同相同動作,這樣接受者就知道接受和處理哪個廣播。
廣播註冊有兩種辦法:
1)在設定檔註冊(AndroidManifest.xml)
<receiver android:name=".SeekBarBroadcastReceiver "> <intent-filter android:priority="20"> <action android:name="com.music.activities.seekBar"/> </intent-filter> </receiver>
2)另一個註冊辦法是在程式中註冊
SeekBarBroadcastReceiver receiver = new SeekBarBroadcastReceiver();IntentFilter filter = new IntentFilter("com.music.activities.seekBar");this.registerReceiver(receiver, filter);
這種辦法解除註冊過程是這樣的,
this.unregisterReceiver(receiver);
4、這樣就完成廣播所有實現過程。