2012-07-25 114 views
0

我有一個應用程序,它可以調用另一個應用程序。在第二個應用程序中,用戶可以執行一些操作,然後將數據返回到我的主應用程序。一切正常,直到用戶進入第二個應用程序,而不是執行預期的流程,按下後退按鈕。Android:從主應用程序調用的應用程序內部按下錯誤

這會在我的主應用程序的OnActivityResult方法中拋出空指針異常,因爲當然沒有數據。

你如何處理這樣的事情?另外,我無法訪問第二個應用程序代碼,所以我的應用程序只是調用第三方軟件。

回答

2

我會檢查是否有問題的變量爲空,如果它不嘗試訪問它。

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(data != null) { 
     List<String> words = data.getStringArrayListExtra("words"); 
     if(words != null) { 
      // Do something 
     } 
    } 
} 

如果這不是一個選項,則需要通過張貼相關的代碼樣本最好能提供一些背景,因爲我可以在目前的情況下只能猜測。