我知道如何从图库中选择照片并且它始终有效。
从图库中选择照片的代码:
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相册中选择它们,照片仍然存储在云中,而不是下载到本地。在我选择一个并开始下载之后:
当下载任务完成并返回我的应用程序时,光标中始终包含照片路径的_data
列为空。
请有人帮助我。
答案 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);