我正在研究聊天项目
我在这里做的是与连接人员一起服务,我设置广播接收器以从服务获取数据
这是接收者代码
mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
try {
final String code = intent.getExtras().get("code").toString();
final JSONObject Message = new JSONObject(intent.getExtras().get("msg").toString());
runOnUiThread(new Runnable() {
@Override
public void run() {
Log.d("test","test");
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
};
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,new IntentFilter("data"));
问题是当我关闭活动时,runOnUiThread中的代码被多次调用
如果我关闭活动并打开它,它会调用2次,如果我再次执行它会调用3次等等
答案 0 :(得分:1)
您的活动暂停后,您需要取消注册广播接收器。在您的活动的onPause()方法中。 LocalBroadcastManager.getInstance(本).unregisterReceiver(米的messageReceiver)