Android開發(fā)之廣播機制淺析
對于了解Android程序設(shè)計的人都知道,廣播是Android開發(fā)中的一個重要的功能,在Android里面有各式各樣的廣播,比如:電池的狀態(tài)變化、信號的強弱狀態(tài)、電話的接聽和短信的接收等等,今天本文就來給大家簡單介紹一下系統(tǒng)發(fā)送、監(jiān)聽這些廣播的機制。
Android中的廣播機制基本如下圖所示:
那廣播在Android程序中到底是如何運行的呢?下面將以代碼的形式給大家好好分析一下:
一、發(fā)送廣播
Intent是Activity中發(fā)送廣播的橋梁,通過他我們可以輕松的將廣播發(fā)送到系統(tǒng)中,具體的實現(xiàn)如下:
final String Intent_Action = "com.android.BroadcastReceiverDemo";//定義廣播,方便我們接收這個廣播 Intent intent = new Intent(Intent_Action); intent.putExtra("name", "小米"); Activityone.this.sendBroadcast(intent);
可能你會疑惑Intent_Action的用處,因為Android內(nèi)部存在大量的廣播,我們通過Intent_Action可以唯一的接收這條廣播。
二、接收廣播
接收廣播時我們需要定義一個BroadcastReceiver的子類,來接收我們發(fā)出的廣播,通過重寫B(tài)roadcastReceiver的onReceive()方法來對接到的廣播做出響應(yīng)?!?/p>
public class MyBroadcastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String name = intent.getStringExtra("name");//獲得廣播發(fā)出者傳遞的值 Toast.makeText(context, name, Toast.LENGTH_SHORT).show(); }
三、配置廣播
具體配置文件部分代碼如下:
<receiver android:name="cn.edu.hpu.android.activity_broadcast.MyBroadcastReceiver" android:enabled="true" > <intent-filter > <action android:name="com.android.BroadcastReceiverDemo" /> </intent-filter> </receiver>
在這里一定要保證android:name="com.android.BroadcastReceiverDemo",高亮的內(nèi)容和我們在發(fā)送廣播時設(shè)置Intent_Action的內(nèi)容一致。
希望本文示例對大家的Android程序設(shè)計有所幫助。
相關(guān)文章
Android中使用Canvas繪制南丁格爾玫瑰圖(Nightingale rose diagram)
這篇文章主要介紹了Android中使用Canvas繪制南丁格爾玫瑰圖(Nightingale rose diagram),本文直接給出實現(xiàn)代碼和運行效果圖,需要的朋友可以參考下2015-03-03Android 數(shù)據(jù)存儲之 FileInputStream 工具類及FileInputStream類的使用
這篇文章主要介紹了Android 數(shù)據(jù)存儲之 FileInputStream 工具類及FileInputStream類的使用的相關(guān)資料,需要的朋友可以參考下2015-11-11Android自定義view實現(xiàn)帶header和footer的Layout
這篇文章主要介紹了Android自定義view實現(xiàn)帶header和footer的Layout,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-02-02Android數(shù)字選擇器NumberPicker使用詳解
這篇文章主要為大家詳細(xì)介紹了Android數(shù)字選擇器NumberPicker的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08Windows下快速搭建安卓開發(fā)環(huán)境Android studio
這篇文章主要介紹了Windows下快速搭建安卓開發(fā)環(huán)境Android studio的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-07-07Android開發(fā)之開發(fā)者頭條(一)啟動頁實現(xiàn)
這篇文章主要介紹了Android開發(fā)之開發(fā)者頭條(一)啟動頁實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-04-04