Android - java.lang.IllegalArgumentException: Receiver not registered

匿名 (未验证) 提交于 2019-12-02 21:52:03
 java.lang.IllegalArgumentException: Receiver not registered

从平台上可以看到Crash的错误问题,

出现了以下这条

 java.lang.IllegalArgumentException: Receiver not registered

明明我OnResume有注册、OnPause有移除。

但为什么会发生这个问题

 private BroadcastReceiver mReceiver = new BroadcastReceiver() {     @Override     public void onReceive(Context context, Intent intent) {         ... doSomeThing     } };

BroadcastReceiver这样命

onResume如下

 @Override protected void onResume() {     super.onResume();     registerReceiver(mReceiver, new IntentFilter("filter_action")); }

onPause如下

 @Override protected void onPause() {     super.onPause();     unregisterReceiver(mReceiver); }

但会出现如下的错误消息,虽然很少发生,但还是防呆一下(朝向零bug前进)

依照以下这篇文章

http://stackoverflow.com/questions/4978167/weird-receiver-not-registered-exception

可能防呆改成如下

 @Override protected void onPause() {     super.onPause();      try {         if (mReceiver!= null) {             unregisterReceiver(mReceiver);         }     }catch (Exception ex){         ex.printStackTrace();     } }

原文:大专栏Android - java.lang.IllegalArgumentException: Receiver not registered


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!