BroadCastReceiver的使用
- 新建一个类继承自BroadCastReceiver,重写onReceive方法
class MyReceiver extends BroadCastReceiver{
onReceive(Context context, Intent intent){
//广播接收器中是不允许开启多线程的,过久的操作就会出现报错。
//因此广播接收器更多的是扮演一种打开程序其他组件的角色,比如创建一条状态栏通知,或者启动某个服务
Intent intent = new Intent();
intent.setClass(this, UnitizeUIPrivacyPolicyNoteActivity.class);
final View childView = getLocalActivityManager().startActivity("",intent).getDecorView();
}
}
- 对广播进行注册
动态注册:
MyReceiver mr = new MyReceiver();
IntentFilter itf = new IntentFilter();
itf.addAction("com.www.setupwizard.unitizer.ACTION_FINISH");
registerReceiver(mr, itf);
------------------------------------------------------------------------------------
静态注册:
// 在AndroidManifest.xml文件中,在<application>标签下注册广播
<receiver android:name=".MyReceiver ">
<intent-filter>
<action android:name="com.www.setupwizard.unitizer.ACTION_FINISH" />
</intent-filter>
</receiver>
发送广播
Intent intent = new Intent("com.www.setupwizard.unitizer.ACTION_SWITCH");
sendBroadcast(intent);
sendOrderedBroadcast(intent);