通过扩展BroadcastReceiver,我得到了我的班级'ABC‘。但最近,我偶然发现了LocalBroadcastManager。
这是我的班级宣言:
public class ABC extends BroadcastReceiver {}所以ABC是作为监听器工作的,并且基于它将调用另一个对象的操作。
我到处检查是否可以在这里使用LocalBroadcastManager而不需要任何活动。实际上,ABC类是一个核心应用程序类,它不连接到任何UI组件。
让我知道如何在我的场景中使用LocalBroadcastManager。
我是机器人新手。请帮帮忙。
发布于 2014-02-12 09:25:39
也许现在回答有点晚了,但我希望这对你有用。
第一步是拥有一个扩展应用程序的类。这将用于从活动外部获取应用程序上下文。
public class AppContext extends Application {
private static AppContext instance;
public AppContext() {
instance = this;
}
public static Context getContext() {
return instance;
}
}然后将下面的代码添加到要将消息发送到LocalBroadcasr的地方
Intent intent = new Intent("intent-filter");
intent.putExtra("message", "your-message-here");
LocalBroadcastManager.getInstance(AppContext.getContext()).sendBroadcast(intent);最后,正如我接下来向您展示的那样,您的课程ABC将收到此意向。
private BroadcastReceiver receiver;
public class ABC{
public ABC(){
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//receive your message here
String message = intent.getStringExtra("message");
};
LocalBroadcastManager.getInstance(AppContext.getContext()).registerReceiver(receiver, new IntentFilter("intent-filter"));
}发布于 2013-09-12 09:47:36
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context);
localBroadcastManager.registerReceiver(receiver); // or other operationshttps://stackoverflow.com/questions/18758613
复制相似问题