2011-03-14 83 views
6

我開始意圖從畫廊中選擇一張圖片,但意圖總是返回結果代碼RESULT_CANCELED。我已經嘗試了很多不同的代碼,但沒有任何幫助,這讓我覺得也許我錯過了一些東西,比如將某些東西放在Android清單中的活動中?Android:畫廊意圖返回resultCode == RESULT_CANCELED

我的代碼:

// The Intent 
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(intent, 0); 

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

    super.onActivityResult(requestCode, resultCode, data); 

    if (resultCode == RESULT_OK){ 
     Uri targetUri = data.getData(); 
     Bitmap bitmap; 
     try { 
      bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri)); 
      profileImage.setImageBitmap(bitmap); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

希望得到一些幫助;)

+0

把你的活動結束()代碼也 – 2011-03-14 10:32:15

+0

嗯,你的意思startActivityForResult後,將結束()?這對我來說唯一的事情就是完成活動(我不想要,我希望它返回到同一個活動),並仍然使用RESULT_CANCELED。 – DecodeGnome 2011-03-14 10:41:46

回答

16

行,所以我解決了這個。我的問題原來是在Gallery Intent完成之前調用了onActivityResult()方法。我在這裏找到了溶劑:onActivityResult() called prematurely

基本上,我已經在清單中指定活動爲「singleTask」。 更改爲「singleTop」爲我解決了它。

+0

我的活動啓動模式爲「singleInstance」時遇到同樣的問題。將其更改爲「singleTop」解決了我的問題。感謝您分享您的解決方案。 – 2012-12-06 08:01:47

+0

,但即使使用您的解決方案也無法解決此問題 – Trikaldarshi 2013-05-16 09:21:31

+0

發送郵件時出現問題 – Trikaldarshi 2013-05-16 09:21:53

1

救了我的命! \ 0/

機器人:launchMode = 「singleTop」