Android開發(fā)之廣播機(jī)制淺析
對于了解Android程序設(shè)計的人都知道,廣播是Android開發(fā)中的一個重要的功能,在Android里面有各式各樣的廣播,比如:電池的狀態(tài)變化、信號的強(qiáng)弱狀態(tài)、電話的接聽和短信的接收等等,今天本文就來給大家簡單介紹一下系統(tǒng)發(fā)送、監(jiān)聽這些廣播的機(jī)制。
Android中的廣播機(jī)制基本如下圖所示:

那廣播在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)文章
AndroidStudio中重載方法@Override的使用詳解
這篇文章主要介紹了AndroidStudio中重載方法@Override的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Android進(jìn)階Hook攔截系統(tǒng)實例化View過程實現(xiàn)App換膚功能
這篇文章主要為大家介紹了Android進(jìn)階Hook攔截系統(tǒng)實例化View過程實現(xiàn)App換膚功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
Flutter框架解決盒約束widget和assets里加載資產(chǎn)技術(shù)
這篇文章主要為大家介紹了Flutter框架解決盒約束widget和assets里加載資產(chǎn)技術(shù)運用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
詳解AndroidStudio JNI +Gradle3.0以上JNI爬坑之旅
這篇文章主要介紹了詳解AndroidStudio JNI +Gradle3.0以上JNI爬坑之旅,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Android之禁止ViewPager滑動實現(xiàn)實例
這篇文章主要介紹了Android之禁止ViewPager滑動實現(xiàn)實例的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android FrameWork之Zygote啟動示例詳解
這篇文章主要為大家介紹了Android FrameWork之Zygote啟動示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Jetpack?Compose?DropdownMenu手指跟隨點擊顯示
這篇文章主要為大家介紹了Jetpack?Compose?DropdownMenu手指跟隨點擊位置顯示實現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

