onException()
类中有一个InstrumentationTestRunner
方法,只要被测试的应用程序由于无法处理的异常而崩溃,就应该调用该方法。
由于某种原因,当应用程序崩溃是由onException()
的{{1}}方法中执行的代码导致onReceive()
时,BroadcastReceiver
未从{{1}接收广播}}
换句话说,如果我打电话:
LocalBroadcastManager
然后,以下IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ACTION_CRASH);
LocalBroadcastManager.getInstance().registerReceiver(mReceiver, intentFilter);
LocalBroadcastManager.getInsance().sendBroadcast(new Intent(ACTION_CRASH));
方法中的代码不会调用onReceive()
:
onException()
另一方面,如果public void onReceive()
{
Object nullPointerCauser = null;
nullPointerCauser.toString();
}
通过致电BroadcastReceiver
获得广播,则会调用sendBroadcast()
。如果我打电话:
onException()
然后
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ACTION_CRASH);
Activity.this.registerReceiver(mReceiver, intentFilter);
Activity.this.sendBroadcast(new Intent(ACTION_CRASH));
会导致应用程序崩溃,并在public void onReceive()
{
Object nullPointerCauser = null;
nullPointerCauser.toString();
}
onException()
任何人都有这样的问题吗?知道是什么原因引起的吗?任何解决方案的想法?