2017-08-02 57 views
0

我知道如何從畫廊中挑選照片,並始終有效。如何從Google相冊中挑選存儲在雲中的照片?

挑選照片從庫中的代碼:

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

這一次,我去接他們從谷歌照片和照片仍保存在雲端並沒有下載到本地呢。我選擇一個,之後將開始下載這樣的:

photo_downloading

當下載任務完成後,回到我的應用程序,在光標的_data列總是包含照片路徑爲空。

有人可以幫助我,請。

+0

此代碼對谷歌照片https://stackoverflow.com/a/44193985/1448357 – Gaurav

+0

@Gaurav謝謝!你的答案與我想要的相似。但我更喜歡這更有效。 [https://stackoverflow.com/q/32326558/8404007](https://stackoverflow.com/q/32326558/8404007) –

回答

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);

相關問題