广播接收器在android中未接收任何内容
我想做的是,当用户返回新活动时,我想更新该片段中的报警列表。但在我的尝试中,当我使用广播接收器时,它并没有收到任何东西。如何解决这个问题 在报警活动中 在报警选项卡片段中 明显地广播接收器在android中未接收任何内容,android,android-fragments,broadcastreceiver,Android,Android Fragments,Broadcastreceiver,我想做的是,当用户返回新活动时,我想更新该片段中的报警列表。但在我的尝试中,当我使用广播接收器时,它并没有收到任何东西。如何解决这个问题 在报警活动中 在报警选项卡片段中 明显地 您应该在OnResume中注册收件人,谢谢。暂停一下怎么样?在保存java.lang.IllegalStateException之前我应该如何处理它:OnSaveInstanceState之后无法执行此操作是的,您应该在onPause中注销接收器。你能将你的代码更新到你现在拥有的代码,并说出错误在哪一行,它是什么错误吗
您应该在OnResume中注册收件人,谢谢。暂停一下怎么样?在保存java.lang.IllegalStateException之前我应该如何处理它:OnSaveInstanceState之后无法执行此操作是的,您应该在onPause中注销接收器。你能将你的代码更新到你现在拥有的代码,并说出错误在哪一行,它是什么错误吗?你也不必在清单中注册一个本地的BroadcastReceiver。
@Override
public void onBackPressed() {
Log.d("test1","test R1");
Intent intent = new Intent("on_alarm_remove");
LocalBroadcastManager.getInstance(ctx).sendBroadcast(intent);
super.onBackPressed();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ctx = getActivity();
intentFilter = new IntentFilter("on_alarm_remove");
LocalBroadcastManager.getInstance(ctx).registerReceiver(mMessageReceiver, intentFilter);
}
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("test1","test R");
db.removeRecord(db.getFirstAlarm().alarm_id);
reloadFragment();
}
};
@Override
public void onPause() {
if (mMessageReceiver != null)
LocalBroadcastManager.getInstance(ctx).unregisterReceiver(mMessageReceiver);
super.onPause();
}
<receiver android:name=".reminder.ReminderFrag$mMessageReceiver" />
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState