1

第一篇文章,所以很好:)不能按回谷歌地圖

我的問題是,我有一個類打開我的手機相機。但是,如果我按手機上的後退按鈕,應用程序將崩潰。

有什麼辦法可以防止這種情況發生?也許只是禁用後退按鈕?

任何幫助,將不勝感激

這是我的代碼調用打開攝像頭。

btnpicture.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityIfNeeded(cameraIntent, CAMERA_REQUEST); 
     } 
    }); 

編輯:當我有另一個按鈕來打開圖庫時,也會發生此問題。如果按下「後退」按鈕,應用程序就會崩潰。

btnsdpic.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Intent gallery = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
      startActivityIfNeeded(gallery, SELECT_IMAGE); 
     } 
    }); 

謝謝你們

HEMM。

+0

當一個Android應用程序崩潰,它的葉子在'LogCat'的*錯誤信息*和*調用堆棧*。 ***確保你發佈了你的問題***(包括callstack提到的相關代碼行)。我的心理調試意識告訴我,你不會在onSaveInstanceState/onCreate二重奏中存儲/恢復重要的類狀態。您的活動很可能在相機活動期間被殺死,所以在丟失的類狀態下會出現空指針異常。但是,再次......完全猜測這裏,發佈更多信息以獲得實際答案。 – 2012-03-11 20:13:27

回答

0

嘗試:

Intent gallery = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
startActivityForResult(camera, SELECT_IMAGE); 

和:

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

    if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) { 
     if (resultCode == RESULT_OK) { 
     Toast.makeText(this, "Image Caputred", Toast.LENGTH_SHORT).show(); 
    } else if (resultCode == RESULT_CANCELED) { 
     Toast.makeText(this, "Image was not Caputred", Toast.LENGTH_SHORT).show(); 
    } else { 
     Toast.makeText(this, "Image was not Caputred", Toast.LENGTH_SHORT).show(); 
    } 
    }  
} 
+0

抱歉沒有發佈Log Cat Paul-Jan,請在下一篇文章中牢記這一點:) 謝謝Aki,這兩個問題的工作(相機和圖庫):D – 2012-03-12 17:52:57

+0

只是一個fyi @ aki143S你不通過解決他們的問題來幫助人們。當你提供一些反饋意見和一個小的代碼段,而不是完整的代碼時,你** **提供幫助。幫助自己一個忙,並幫助社區更好地利用其他手段來讓人們學習,而不是僅僅通過複製。 – JoxTraex 2012-03-21 23:35:52