免责声明:我对Android编程相当陌生,所以我正在尝试模仿iOS NSNotificationCenter。
我发现LocalBroadcastManager的行为类似于NSNotifcationCenter。我尝试做的是在套接字通信结束时从静态类向活动发送一条消息。
我发现了如何在这个stackoverflow answer中使用LocalBroadcastManager
我的问题是如何为我的静态类设置上下文(‘this’),否则我不会收到错误“LocalBroadcastManager类型中的方法getInstance(Context)不适用于参数(MY_STATIC_CLASS)”。
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
如果使用LocalBroadcastManager不是将信息从静态类发送到活动的最佳方式,我愿意使用其他方式来完成此任务。
发布于 2013-03-01 01:02:37
只需从调用静态方法的Application活动中传递上下文即可。
公共静态无效上下文(Context SendBroadcast){ LocalBroadcastManager.getInstance(context).sendBroadcast(intent);}
从应用程序或活动
StaticClass.sendBroadcast(getApplicationContext());或者,如果需要从静态类调用if,则在应用程序创建时传递上下文。
public final class YourApp extends Application {
@Override
public void onCreate() {
super.onCreate();
YourClass.init(this);
}
}
public final class YourClass {
private static Context context;
public static void init(Context context) {
YourClass.context = context;
}
public static void sendBroadcast() {
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
}https://stackoverflow.com/questions/15140854
复制相似问题