Android 注冊(cè)廣播的兩種方式對(duì)比
Android 注冊(cè)廣播的兩種方式對(duì)比
1.常駐型廣播
常駐型廣播,當(dāng)你的應(yīng)用程序關(guān)閉了,如果有廣播信息來(lái),你寫的廣播接收器同樣的能接受到,
他的注冊(cè)方式就是在你的應(yīng)用程序中的AndroidManifast.xml進(jìn)行注冊(cè)。通常說(shuō)這種方式是靜態(tài)注冊(cè)
下面是配置例子
<!-- 桌面 --> <receiver android:name=".widget.DeskWidgeWeather"> <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_weather_provider" /> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> <action android:name="action_weather"/> </intent-filter> lt;/receiver>
2.非常駐型廣播
當(dāng)應(yīng)用程序結(jié)束了,廣播自然就沒(méi)有了,比如你在activity中的onCreate或者onResume中注冊(cè)廣播接收器
在onDestory中卸載廣播接收器。這樣你的廣播接收器就一個(gè)非常駐型的了。這種也叫動(dòng)態(tài)注冊(cè)。
比如寫一個(gè)監(jiān)聽(tīng)SDcard狀態(tài)的廣播接收器
SdcardStateChanageReceiver sdcardStateReceiver;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_MEDIA_REMOVED);
filter.addAction(Intent.ACTION_MEDIA_EJECT);
filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
filter.addDataScheme("file");
sdcardStateReceiver = new SdcardStateChanageReceiver();
registerReceiver(sdcardStateReceiver,filter);
}
@Override
protected void onDestroy(){
unregisterReceiver(sdcardStateReceiver);
}
class SdcardStateChanageReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent)
{
String state=android.os.Environment.getExternalStorageState();
System.out.println("SDCard 發(fā)生改變! 狀態(tài):"+state);
//checkSDCard();
}
public void checkSDCard(){
String state=android.os.Environment.getExternalStorageState();
System.out.println(state);
if(state.equals(android.os.Environment.MEDIA_REMOVED ) || state .equals(android.os.Environment.MEDIA_UNMOUNTED)){
System.out.println("SDCard 已卸載!");
}
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
android底部菜單欄實(shí)現(xiàn)原理與代碼
底部菜單欄很重要,我看了一下很多應(yīng)用軟件都是用了底部菜單欄做,我這里使用了tabhost做了一種通用的(就是可以像微信那樣顯示未讀消息數(shù)量的,雖然之前也做過(guò)但是layout下的xml寫的太臃腫,這里去掉了很多不必要的層,個(gè)人看起來(lái)還是不錯(cuò)的,所以貼出來(lái)方便以后使用2013-01-01
Android實(shí)現(xiàn)將一個(gè)Activity設(shè)置成窗口樣式的方法
這篇文章主要介紹了Android實(shí)現(xiàn)將一個(gè)Activity設(shè)置成窗口樣式的方法,涉及Android的窗口樣式設(shè)置與布局技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-02-02
Android 實(shí)現(xiàn)列表倒計(jì)時(shí)功能
這篇文章主要介紹了Android 實(shí)現(xiàn)列表倒計(jì)時(shí)功能,代碼很簡(jiǎn)單,沒(méi)有任何難度,使用RecyclerView+BaseRecyclerViewAdapterHelper列表實(shí)現(xiàn),需要的朋友可以參考下2020-03-03
Android DigitalClock組件用法實(shí)例
這篇文章主要介紹了Android DigitalClock組件用法,結(jié)合實(shí)例形式分析了DigitalClock組件的布局調(diào)用技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2016-01-01

