每日日报

特殊广播接收者

四大组件只有广播接收者可以不在清单文件中注册
静态注册 在清单文件中 通过声明一个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.}
原文地址:https://www.cnblogs.com/zhukaile/p/14837205.html