广播的动态注册()-其他
广播的动态注册()
先前我们的每个Activity都要在AndroidMainfest.xml文件中注册才能使用,这属于静态注册。现在我们学习一种新的注册方法,动态注册。
动态注册有很多好处,在新版本的安卓中,推荐全部使用动态注册,动态注册也利于大型项目的开发。
我们以Broadcast为例,我们需要在OnCreate和OnStop中注册和取消注册;取消注册是必要的,否则会导致内存溢出
声明广播
private SetTimeActivity.AlarmReceiver alarmReceiver;
注册广播
@Override
public void onStart() {
super.onStart();
alarmReceiver = new SetTimeActivity.AlarmReceiver(); // 创建一个闹钟的广播接收器
// 创建一个意图过滤器,只处理指定事件来源的广播
IntentFilter filter = new IntentFilter("ALARM");
registerReceiver(alarmReceiver, filter); // 注册接收器,注册之后才能正常接收广播
}
取消注册:
@Override
public void onStop() {
super.onStop();
unregisterReceiver(alarmReceiver); // 注销接收器,注销之后就不再接收广播
}
————————
先前我们的每个Activity都要在AndroidMainfest.xml文件中注册才能使用,这属于静态注册。现在我们学习一种新的注册方法,动态注册。
动态注册有很多好处,在新版本的安卓中,推荐全部使用动态注册,动态注册也利于大型项目的开发。
我们以Broadcast为例,我们需要在OnCreate和OnStop中注册和取消注册;取消注册是必要的,否则会导致内存溢出
声明广播
private SetTimeActivity.AlarmReceiver alarmReceiver;
注册广播
@Override
public void onStart() {
super.onStart();
alarmReceiver = new SetTimeActivity.AlarmReceiver(); // 创建一个闹钟的广播接收器
// 创建一个意图过滤器,只处理指定事件来源的广播
IntentFilter filter = new IntentFilter("ALARM");
registerReceiver(alarmReceiver, filter); // 注册接收器,注册之后才能正常接收广播
}
取消注册:
@Override
public void onStop() {
super.onStop();
unregisterReceiver(alarmReceiver); // 注销接收器,注销之后就不再接收广播
}