2011-03-14 52 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”