无法选择使用ACTION_PICK意图特定图像(Unable to select particula

2019-07-21 04:27发布

我使用的是像这样的意图:

Intent intent = new Intent(Intent.ACTION_PICK,
        android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);

而在onActivityResult()我有这样的:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode != Activity.RESULT_OK) {
        return; // user cancelled
    }

    Uri imageUri = data.getData();
    if (imageUri == null) {
        // (code to show error message goes here)
    return;
    }

    // Get image path from media store
    String[] filePathColumn = { android.provider.MediaStore.MediaColumns.DATA };
    Cursor cursor = this.getContentResolver().query(imageUri, filePathColumn,
            null, null, null);

    if (cursor == null || !cursor.moveToFirst()) {
        // (code to show error message goes here)
        return;
    }

    int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
    String imagePath = cursor.getString(columnIndex);
    cursor.close();

    if (imagePath == null) {
        // error happens here
    }
}

当我选择特定的专辑,如“帖子”,图片“头像”(见截图),我无法获得在图像路径onActivityResult() 从其他相册中的图像可以毫无问题地选择。

我试着加入intent.putExtra("return-data", true)data.getExtras()返回nullonActivityResult()

有类似的问题在这里 ,但没有人回答了这个问题。

请帮忙!

Answer 1:

啤酒花这将帮助您....

ACTIVITYRESULT_CHOOSEPICTURE是你调用startActivity(意向,requestCode)当使用INT;

public void onActivityResult(int requestCode, int resultCode, Intent data) {
  if(requestCode == ACTIVITYRESULT_CHOOSEPICTURE) {
    BitmapFactory.Options options = new BitmapFactory.Options();
    final InputStream ist = ontext.getContentResolver().openInputStream(intent.getData());
    final Bitmap bitmap = BitmapFactory.decodeStream(ist, null, options);
    ist.close();
  }
}

如果上面的代码不工作不仅仅是指这个链接...这将切切实实的显示方式

http://dimitar.me/how-to-get-picasa-images-using-the-image-picker-on-android-devices-running-any-os-version/



Answer 2:

试试这个:

String selectedImagePath = imageUri.getEncodedPath();

它采用图库图片选择对我的作品

也许这个:

bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), data.getData());


文章来源: Unable to select particular images using ACTION_PICK intent