我正在使用下面介紹的方法來驗證我測試的活動是否開始另一個活動。ActivityResult沒有返回到儀表測試中的調用活動
Instrumentation.addMonitor (IntentFilter filter, Instrumentation.ActivityResult result, boolean block)
根據文檔,block參數控制監視器是否應該阻止活動開始(返回其固定結果)。這就是我想要實現的 - 我想將AcitivityResult返回到調用activity:onActivityResult()。我使用的代碼如下:
Intent resultIntent = new Intent();
Bundle bundle = new Bundle();
bundle.putLong(ActivityBundleKeys.KEY_TEST, 2L);
resultIntent.putExtras(bundle);
ActivityResult result = new ActivityResult(Activity.RESULT_OK, resultIntent);
ActivityMonitor monitor = mInstr.addMonitor(MapViewActivity.class.getName(), result, true);
mSolo.clickOnView(btnMap); //button properly clicked, activity started
Activity currentActivity = mInstr.waitForMonitor(monitor);
如果我理解正確的話,如果我通過「真正」的添加監視器(),開始應阻止和我的呼喚活動應該受到嘲笑的結果。這沒有發生。請求的活動正常開始,並在仿真器中可見。結果不會返回到調用活動。任何人都有類似的問題?