我有一个活动,它需要对广播事件进行响应。 由于活动不能同时作为广播接收器, 所以我创建了一个广播接收器。
我的问题是:如何从广播接收器通知活动? 我相信这是一个常见的情况,那么是否有针对此情况的设计模式呢?
我有一个活动,它需要对广播事件进行响应。 由于活动不能同时作为广播接收器, 所以我创建了一个广播接收器。
我的问题是:如何从广播接收器通知活动? 我相信这是一个常见的情况,那么是否有针对此情况的设计模式呢?
public class MyActivity extends Activity {
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(...) {
...
}
});
public void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(BROADCAST_ACTION);
this.registerReceiver(this.receiver, filter);
}
public void onPause() {
super.onPause();
this.unregisterReceiver(this.receiver);
}
}
这种方式在类创建时实例化接收器(也可以在 onCreate 方法中完成)。然后在 onResume/onPause 方法中处理注册和注销接收器。接着,在接收器的 onReceive
方法中,根据需要执行必要的操作,以使活动在接收广播时按照所需方式做出反应。
String BROADCAST_ACTION = "android.net.conn.CONNECTIVITY_CHANGE";
如果您想在整个应用程序中实现某种行为,您是否可以在扩展Application
类的类中编写代码? - Sunshinator