編輯:關於android開發
四大組件之廣播接收者BroadcastReceiver
新建廣播接收器
需要新建一個類繼承類BroadcastReceiver,並且重寫其中的方法onReceive(),不要在這個方法中添加過多的邏輯或者進行任何耗時的操作,因為在廣播接收者中是不允許開啟線程的。
當接收到指定的廣播時就會執行onReceive()方法中的內容。
注冊廣播接收器可以動態也可以靜態。
這裡簡單介紹一下靜態:
在AndroidManifest.xml的<application></application>中間寫入<receiver></receiver>,在這個標簽中寫入你要注冊的接收器和要接收的廣播
<receiver android:name=".MyBroadcastReceiver"> <intent-filter > <action android:name="你要接收的廣播" /> </intent-filter> </receiver>
MyBroadcastReceiver為接收器,也就是創建的類。action中的name中寫的是要接收的廣播,可以是系統廣播,也可以是自定義的廣播。
有時接收廣播是需要權限的,這個需要注意。
新建廣播
廣播有兩種:標准廣播和有序廣播
標准廣播就是任何注冊接收此廣播的程序都可以接收到,有序廣播就是按照優先級進行接收,並且優先級高的可以通過abortBroadcast(),截斷廣播,後面的接收器將會收不到廣播。
廣播也是用Intent來寫的比如
1 Intent intent=new Intent("廣播名"); 2 sentBroadcast(intent);
上面的廣播是sentBroadcast()發出,這個發出的就是標准廣播。使用sentOrderedBroadcast()發出的是有序廣播。
當發出的是有序廣播時,注冊的內容就需要添加優先級priority
1 <receiver android:name=".MyBroadcastReceiver"> 2 <intent-filter android:priority="100" > 3 <action android:name="你要接收的廣播" /> 4 </intent-filter> 5 </receiver>
本地廣播
上面發出的廣播都是系統全局廣播,很容易出現安全性問題。使用本地廣播可以簡單解決安全性問題
主要使用一個LocalBroadcastManager來對廣播進行管理,並提供了發送廣播和注冊廣播接收器的方法
上面只是簡單介紹一下廣播接收者,如果有什麼問題可以在評論區留言,謝謝!
Android開發: fragment解析及案例 Fragment 設計理念 在設計應用時特別是Android 應用 ,有眾多的分辨率要去適應,而fragme
Android項目實戰(二十九):酒店預定日期選擇,android酒店預定先看需求效果圖: 幾個需求點: 1、顯示
android:數據存貯方式-SharedPreference SharedPreference: 1.是一種輕型的數據存貯方式 2.本質是基於xml文件存貯key_
Android Studio下載安裝使用教程,androidstudio最近Google的在Google I/O大會上推出了一款新的開發工具android studio。
我的Android進階之旅------)Android Activity