1.BroadcastReceiver(抽象类)
它是没有界面,它可以监听系统中的事件并作出相应,比如系统已经启动,电量变低了,SD卡插拔等事件。
生命周期:当它的onReceive()方法执行完后就被销毁,所以不适合在该方法里进行异步操作,
比如显示Dialog,绑定Service都是属于异步操作范围。
建议:它可以在清单文件中注册,也可以在Activity中注册,但最好在Activity中注册并销毁,
因为在Activity启动时注册,Activity销毁前注销,这样会减轻系统负担。
可以通过它实现系统启动时,自动运行某应用程序
1.注册并监听系统启动这个事件,还有访问权限
2.实现BroadcastReceiver的BootReceiver类,处理监听的事件
public class BootReceiver extends BroadcastReceiver{ @Override public void onReceive(Context arg0, Intent arg1) { // 处理监听事件,启动某应用程序(IntentDemoActivity) if(arg1.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { Intent intent =new Intent(arg0,IntentDemoActivity.class); //这是在Activity之外启动另一个Activity所以要添加flag intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); arg0.startActivity(intent); } }}