Android:图库意图返回resultCode == RESULT_CANCELED

时间:2011-03-14 10:29:17

标签: android android-intent gallery

我开始打算从图库中选择一张图片,但意图始终返回结果代码RESULT_CANCELED。我已经尝试了很多不同的代码,但没有任何帮助让我想到也许我错过了一些东西,比如在Android清单中放入一些东西?

我的代码:

// 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();
        }
    }
}

会感激一些帮助;)

2 个答案:

答案 0 :(得分:16)

好的,所以我解决了这个问题。我的问题是在Gallery Intent完成之前调用了onActivityResult()方法。我在这里找到了溶剂:onActivityResult() called prematurely

基本上,我在清单中将活动指定为“singleTask”。 将它改为“singleTop”解决了它。

答案 1 :(得分:1)

这救了我的命! \ 0 /

机器人:launchMode =" singleTop"