特殊广播接收者
四大组件只有广播接收者可以不在清单文件中注册
静态注册 在清单文件中 通过声明一个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.}