2011-12-22 29 views
1

我遇到了以下問題。使用http/https URI作爲Android中的內容URI

我的應用程序向用戶顯示圖像庫以選擇文件,然後打開輸入流以讀取該文件並通過某種媒體發送。這是做工作的代碼:當所選擇的圖像駐留在存儲設備(如相機和這樣拍攝的照片)

ContentResolver resolver = getContentResolver();    
fileStream = resolver.openInputStream(fileUri); 

一切都很正常,我也得到一個內容://方案URI。問題是,我從Picasa相冊中選擇一張圖片,該圖片顯然是按需從Picasa服務器加載圖片的。在那種情況下,我得到一個https://方案URI,並且openInputStream調用失敗,出現FileNotFoundException「無內容提供者」。

我的問題是什麼是在這種情況下獲得輸入流的最佳方式?我正在考慮打開一個URL連接,但我想知道這是否是最好的選擇?我很不確定Android中的內容提供商是否能爲此提供更好的解決方案。

+0

Picasa圖像如何顯示在圖庫中? – rds 2011-12-22 10:50:24

+0

我想它可以通過我的Google帳戶訪問我的Picasa相冊 – smichak 2011-12-22 10:59:30

回答

1

content:// urls標識本地設備上的資源。

https://標識遠程服務器上的內容(Picasa Web服務器)。我假設你看到了這些,因爲你有一個HTC設備,Picasa通過感官集成到了畫廊中。

當您獲得https://地址時,您需要直接從服務器獲取數據。
請參閱google-api-java-client.