動態註冊和靜態註冊
1、四大元件只有廣播接收者可以不在清單檔案中註冊
2、靜態註冊:在清單檔案中通過宣告一個receiver節點指定intent-filter,這種方式就是靜態註冊
3、動態註冊:registerReceiver(receiver, filter);
4、登出的方法:unregisterReceiver(receiver);
向我們之前在清單檔案註冊的都是靜態註冊
列如:有序無序的傳送廣播
有的廣播需要經常觸發 ,不宜使用靜態註冊
列如:
螢幕的點亮關閉
我們如果靜態註冊 需要呼叫onRecevice方法 導致記憶體不足,卡頓,所以我們要動態註冊
*********程式碼如下***************
···
public class MainActivity extends Activity {
private ScreenLight receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//廣播接收者物件
receiver = new ScreenLight();
//意圖過濾器物件
IntentFilter filter = new IntentFilter();
//給意圖過濾器新增action,就是要監聽的廣播對應的action
filter.addAction("android.intent.action.SCREEN_ON");
filter.addAction("android.intent.action.SCREEN_OFF");
//動態註冊廣播接收者
registerReceiver(receiver, filter);
}
@Override
protected void onDestroy() {
unregisterReceiver(receiver);
}
}
···
動態註冊需要呼叫onDestroy()方法登出
unregisterReceiver(receiver)
相關文章
- 靜態註冊和動態註冊
- Oracle listener靜態註冊和動態註冊Oracle
- 【監聽】動態註冊和靜態註冊
- oracle的靜態註冊和動態註冊Oracle
- oracle監聽靜態註冊和動態註冊Oracle
- 靜態註冊和動態註冊總結(zt)
- listener靜態註冊和動態註冊總結
- Oracle監聽的靜態註冊和動態註冊Oracle
- Oracle listener靜態註冊和動態註冊總結Oracle
- Oracle Listener 動態註冊 與 靜態註冊Oracle
- Oracle Listener 動態註冊與靜態註冊Oracle
- oracle監聽動態註冊與靜態註冊Oracle
- oracle listener 靜態和動態註冊Oracle
- listener的靜態註冊與動態註冊詳述
- Oracle監聽的動態註冊與靜態註冊Oracle
- oracle監聽動態註冊與靜態註冊[轉帖]Oracle
- oracle監聽之動態和靜態註冊Oracle
- oracle監聽器動態註冊於靜態註冊的區別Oracle
- oracle監聽器的靜態和動態註冊Oracle
- Oracle10g中的靜態註冊及動態註冊問題Oracle
- 動態和靜態監聽註冊-小魚的理解
- 再說Oracle Listener動靜態註冊Oracle
- 轉載:oracle監聽器的靜態和動態註冊Oracle
- Oracle監聽器的靜態註冊與動態註冊,以及DB_DOMAIN問題OracleAI
- ORACLE 動態註冊,靜態註冊,多個監聽,一個監聽多個埠配置Oracle
- vue動態註冊元件Vue元件
- 監聽動態註冊
- 動態註冊監聽
- 動態監聽註冊
- listener的動態註冊
- oracle 監聽器動態與靜態註冊服務_listenerOracle
- Android廣播之靜態註冊Android
- Oracle 靜態監聽註冊詳解Oracle
- Android中動態註冊Android
- 關於Listener動態註冊
- rac監聽動態註冊
- 動態註冊監聽Listener
- Oracle 動態監聽註冊Oracle