特殊广播接收者
四大组件只有广播接收者可以不在清单文件中注册
静态注册 在清单文件中 通过声明一个receiver节点 指定intent-filter 这种方式就是静态注册
动态注册
registerReceiver(receiver, filter);
注销的方法 unregisterReceiver(receiver);
1.public class MainActivity extends Activity {
2.
3. private BroadcastReceiver receiver;
4.
5.
6. @Override
7. protected void onCreate(Bundle savedInstanceState) {
8. super.onCreate(savedInstanceState);
9. setContentView(R.layout.activity_main);
10. receiver = new ScreenLightReceiver();
11. //意图过滤器对象
12. IntentFilter filter = new IntentFilter();
13. //给意图过滤器添加action 这个action就是要监听的广播对应的action
14. filter.addAction("android.intent.action.SCREEN_OFF");
15. filter.addAction("android.intent.action.SCREEN_ON");
16. //动态注册一个广播接收者
17. registerReceiver(receiver, filter);
18. }
19.
20.
21. @Override
22. protected void onDestroy() {
23. super.onDestroy();
24. //动态注册的广播接收者 在当前activity销毁的时候需要注销掉 unregisterReceiver 注销动态注册的广播接收者
25. unregisterReceiver(receiver);
26. }
27.
28.}