Broadcast Receiver
广播接收器,它和事件的处理机制类似,只补过事件处理机制是程序组件级别的,而广播事件处理机制是系统级别的。
1.编写一个类继承BroadcastReceiver
Public class MyReceiver extends BroadcastReceiver
{
Public void OnReceiver()
{
Log.i("BoradcastReceiver method");
}
}
2.注册广播
方法1:
<receiver>
<intent-filter>
<!-- 广播的类型-->
<action android:name="com.myReceiver"/>
</intent-filter>
</receiver>
方法2:
MyReceiver myReceiver = new MyReceiver ();
IntenteFilter filter = new IntentFilter();
filter.setAction("com.myReceiver");
registerBroadCast(myReceiver ,);
这两种方式的区别在于
1.在AndroidMain.xml文件中注册广播,系统已启动广播已经注册了,属于全局注册广播。
而通过代码注册广播时局部注册。
2.在AndroidMain.xml文件中注册广播但Acitivity销毁,广播依然存在不与Acitivity共存亡。
3.构建Intent
Intent intent =new Intent();
intent.setAction("om.myReceiver");
4.发送广播
sendBroadReceiver(intent);
广播的生命周期
BroadcastReceiver对象仅在调用onReceiver方法时有效,当该方法执行完毕后,系统认为销毁对象。也就说每次执行广播都会重新new一个新的广播。
系统定义的标准的Action
详情请见
E:\android\android-sdk-windows\docs\reference\android\content\Intent.html