如何从Google相册中选择存储在云中的照片?

时间:2017-08-02 08:37:20

标签: android android-gallery

我知道如何从图库中选择照片并且它始终有效。

从图库中选择照片的代码:

Intent intent = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, REQ_GALLERY);

处理onActivityResult()的结果的代码:

Uri uri = data.getData();
Cursor cursor = getContext().getContentResolver().query(uri, new String[] {
    MediaStore.Images.Media.DATA,
}, null, null, null);
if (cursor == null) return false;
if (cursor.moveToFirst()) {
    String path = cursor.getString(0);
    if (path != null) {
           startPhotoEdit(new File(path), output, requestCode);
           cursor.close();
           return true;
    }
}
cursor.close();

这次我从Google相册中选择它们,照片仍然存储在云中,而不是下载到本地。在我选择一个并开始下载之后:

photo_downloading

当下载任务完成并返回我的应用程序时,光标中始终包含照片路径的_data列为空。

请有人帮助我。

1 个答案:

答案 0 :(得分:0)

我终于发现,当选择云中的照片时,其Uri是不同的。像这样:

content://com.google.android.apps.photos.contentprovider/1/1/mediakey%3A%2Flocal%253A131b7978-cc48-4206-8561-d18f99421551/ORIGINAL/NONE/2134743478

它在正常mediakey中包含content而不是Uri

所以,这可能会有所帮助:

getContentResolver().openInputStream(uri);