android 怎樣收到系統發送的廣播
要註冊接受廣播的處理程序, 有兩種方式
在AndroidManifest.xml重註冊, 比如監聽系統的開機廣播和屏幕解鎖廣播
<receiver android:name="com.bestjoy.app.common.update.BootCompletedReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
這樣, 壹旦有定義的action發出來,?BootCompletedReceiver的onReceive方法就會回調了,這樣的監聽,不需要妳的app已經在運行。
2. ?在程序中動態創建監聽器, 比如還是解鎖廣播,
在Activity的onCreate()中生成壹個IntentFilter對象
IntentFilter filter=new IntentFilter();
//為IntentFilter添加壹個Action
filter.addAction("android.intent.action.USER_PRESENT");
bootCompletedReceiver = new?UserPresentReceiver();
registerReceiver(smsReceiver, filter);
在onDestroy的時候去註冊
unregisterReceiver(bootCompletedReceiver);
這樣的方式只有在Activity生命周期onCreate()-onDestroy()之間有效。
對於壹些特俗的系統級別的廣播,即使妳按照上面的任何壹種方式做了, 也可能監聽不到, 這是android 系統做了保護了, 網上查壹下就知道了。