2014-02-11 29 views

回答

0

我的錯......在我的測試情況下,我忘了觸發實際使用startActivityForResult的代碼。我糾正了這一情況,並如預期的那樣導致onActivityResult被調用。允許我使用requestCode的各種值測試onActivityResult。

一個提示 - 記住,對於waitForMonitorWithTimeout第二個參數(超時)的單位是毫秒不秒作爲文檔建議。

0

Android Doc

@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) { 


     } 
    } 
} 
+0

我應該更清楚。我正在尋找創建一個ActivityInstrumentationTestCase2來測試onActivityResult的「requestCode」的各種值。 – Nick

0

當您使用以下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; 
      } 
     } 
    } 
0

startActivityForResult(i, requestCode); 

並且您在參數requestCode中收到相同的requestCodeon以下方法。

protected void onActivityResult(int requestCode, int resultCode, Intent data) { }

相關問題