1)Broadcast Receive是系統(tǒng)級(jí)別的事件處理機(jī)制。 2)自定義一個(gè)廣播步驟: 該廣播接收器(可在代碼中注冊(cè),也可在AndroidManifest.xml配置文件中注冊(cè))。
![]() 3)在AndroidManifest.xml配置文件中注冊(cè)廣播接收器:
在代碼中注冊(cè),一般在Activity.onResume()方法中使用Context.registerReceiver()方法注冊(cè)一個(gè)廣播 接收器,在Activity.onPause()中使用Contenxt.unregisterReceiver()方法來(lái)注銷(xiāo)一個(gè)廣播接收器。
4)BroadcastReceiver組件并沒(méi)提供可視化的界面來(lái)顯示廣播信息,需要使用Notification和 NotificationManager來(lái)實(shí)現(xiàn)可視化的信息顯示。通過(guò)它們可以顯示廣播信息的內(nèi)容、圖標(biāo)以及振動(dòng)等信 息。其使用步驟一般先獲得系統(tǒng)級(jí)的服務(wù)NotificationManager,然后實(shí)例化Notification,設(shè)置其屬性 ,通過(guò)NotificationManager發(fā)出通知即可。
5)AlarmManager提供一種系統(tǒng)級(jí)的提示服務(wù),允許你安排在將來(lái)的某個(gè)時(shí)間執(zhí)行一個(gè)服務(wù)。 AlarmManager對(duì)象一般不直接實(shí)例化,而是通過(guò)Context.getSystemService(Context.ALARM_SERVICE)方 法獲得。 AlarmManager的使用步驟:
獲得AlarmManager實(shí)例; 定義一個(gè)PendingIntent發(fā)出廣播; 調(diào)用AlarmManager的方法,設(shè)置定時(shí)或重復(fù)提醒。
然后可以調(diào)用AlarmManager的方法進(jìn)行相應(yīng)操作。
AlarmManager常用屬性和方法:
![]() 實(shí)際遇到的問(wèn)題:
在定義廣播接收類(lèi)的時(shí)候,如果先在所在activity的類(lèi)中聲明這個(gè)類(lèi),再在后面定義,則程序報(bào)錯(cuò),形如:
public class SplashActivity extends Activity {
private BroadcastReceiver connectionReceiver; .......
connectionReceiver = new BroadcastReceiver(){
@Override public void onReceive(Context context, Intent intent) { } }; 至于為什么報(bào)錯(cuò)還不清楚。但是網(wǎng)上一般的寫(xiě)法都是
private BroadcastReceiver connectionReceiver = new BroadcastReceiver(){
@Override public void onReceive(Context context, Intent intent) { } }; |
|
來(lái)自: 風(fēng)雪夜歸人_95 > 《android》