1、可接受多个广播,无论是系统还程序发送的广播都可以接收
2、实质上是系统级别的监听器
3、 发送广播就会触发与之匹配的接收广播,如果接收广播在10s内不能执行完毕就会提示程序无法响应!(终于知道安卓程序为何总是提示程序无法相应的一个原因了)可以使用Service在后台进行一些比较复杂的耗时操作
4、 接受广播重写onReceive()方法即可接收
5、 使用BroadcastReceive需要进行注册
6、 小例子
发送关键代码:
Intent i = new Intent(MainActivity.this, MyReceiver.class);
i.putExtra(“name”, “发送广播消息的内容”);
sendBroadcast(i);
接收代码:
System.out.println(intent.getStringExtra(“name”));
注册信息:
<receiver android:name=“.MyReceiver”></receiver>
附:是否广播注册?如果在这里写了匹配的Intent那么在注册时候就不用配置广播相应的Intent响应的action
7、 程序内部注册和取消注册
注册:(写在onCreate方法)
//注册
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
取消注册(写在activity的onDestroy方法)
unregisterReceiver(receiver);