Android之四 廣播機制實現

來源:互聯網
上載者:User

                                                                         廣播機制實現


    有時需要將資料廣播給大家,這時需要應用廣播機制原理。所謂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、這樣就完成廣播所有實現過程。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.