我已經看到了變得非常接近解決我的問題的答案: https://stackoverflow.com/a/13060588/1481760測試onActivityResult特定requestCode
我希望創建一個ActivityInstrumentationTestCase2,測試onActivityResult爲「requestCode」的各種值。
我已經看到了變得非常接近解決我的問題的答案: https://stackoverflow.com/a/13060588/1481760測試onActivityResult特定requestCode
我希望創建一個ActivityInstrumentationTestCase2,測試onActivityResult爲「requestCode」的各種值。
我的錯......在我的測試情況下,我忘了觸發實際使用startActivityForResult的代碼。我糾正了這一情況,並如預期的那樣導致onActivityResult被調用。允許我使用requestCode的各種值測試onActivityResult。
一個提示 - 記住,對於waitForMonitorWithTimeout第二個參數(超時)的單位是毫秒不秒作爲文檔建議。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check which request it is that we're responding to (THIS IS WHAT YOU ARE LOOKING FOR)
if (requestCode == PICK_CONTACT_REQUEST) {
// Make sure the request was successful
if (resultCode == RESULT_OK) {
}
}
}
我應該更清楚。我正在尋找創建一個ActivityInstrumentationTestCase2來測試onActivityResult的「requestCode」的各種值。 – Nick
當您使用以下method.request代碼userdefine您可以在這裏指定任何號碼您可以使用它像下面,
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
switch (requestCode) {
case CAPTURE_AUDIO:
//your code for audio result
break;
case CAPTURE_VIDEO:
// your code for video result
break;
default:
break;
}
}
}
。
startActivityForResult(i, requestCode);
並且您在參數requestCode中收到相同的requestCodeon以下方法。
protected void onActivityResult(int requestCode, int resultCode, Intent data) { }
谷歌 - > onActivityResult - > http://developer.android.com/training/basics/intents/result.html –