【发布时间】:2015-04-13 09:44:20
【问题描述】:
我有一个类 Connect,它需要一个 Activity 引用来访问 UI.thread。在里面我有这个广播:
JSONArray json = new JSONArray(split);
Log.i(TAG, "JSON Array: " + json.toString());
String[] userNames = new String[json.length()];
for(int user = 0; user < json.length(); user++)
{
userNames[user] = json.getString(user);
}
Intent mainIntent = new Intent();
mainIntent.putExtra("OnlineUsers", userNames);
mainIntent.setAction("com.app.SEND_DATA");
activity.sendBroadcast(mainIntent);
在我的 MainActivity
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
// Extract data included in the Intent
String[] usersNames = intent.getStringArrayExtra("OnlineUsers");
Log.i(TAG, "Got message: " + Arrays.toString(usersNames));
}
};
我在 MainActivity 内的 onCreate() 中注册广播:
IntentFilter filter = new IntentFilter("com.app.SEND_DATA");
registerReceiver(mMessageReceiver, filter);
现在如何在我的 onCreate 方法中访问 userNames,或者您认为有更好的方法在我的 Connect 连接时将变量传递给 Activity strong> 类获取该 Activity 的引用?
【问题讨论】:
-
尝试在您的活动类中使用接口覆盖方法。
标签: java android broadcastreceiver