我正在處理用戶可以選擇文件的應用程序,可以是來自相機的新圖像,也可以是圖庫中的圖像或普通的舊文件。然後它會顯示一個圖標和所選項目的名稱。我有一個例外工作。畫廊應用程序集成了picasaweb圖片。如果用戶從Picasa相冊中選擇了一張圖片,我無法獲取它的縮略圖。如何獲取從圖庫中選擇的Picasa圖像的縮略圖?
我使用的是MediaStore.Images.Thumbnails.getThumbnail()方法,它適用於圖庫中的其他圖像,但對於picasaweb文件,我會得到,不管什麼樣的縮略圖I嘗試獲取(雖然MICRO是我後):
ERROR/MiniThumbFile(2051):GOT例外閱讀魔,ID = 5634890756050069570,當磁盤已滿或安裝只讀? class java.lang.IllegalArgumentException
我注意到給出的URI對於選定的文件是不同的。本地圖像文件看起來像:
內容://媒體/外部/圖像/媒體/ 6912
和Picasa網絡相冊的URL看起來像:
內容:// COM .android.gallery3d.provider/Picasa中/項目/ 5634890756050069570
我試圖使用查詢來獲得在原始THUMB_DATA,使用Thumbnails.queryMiniThumbnails() ,在投影數組中有Thumbnails.THUMB_DATA,但我得到了「沒有這樣的列」的錯誤。
是否有另一種方法可以使縮略圖更好地工作?當我嘗試訪問完整圖像數據時,是否會遇到同樣的問題?
我可以很容易地確定URI中的差異,並顯示吐司如果拍攝的圖像從Picasa ,但這並不完全理想。更好但仍不完美的方法是從ACTION_PICK中排除Picasa圖像,但我無法看到如何做到這一點。 – Mark
我在Android bug跟蹤器中爲此創建了一個問題。 http://code.google.com/p/android/issues/detail?id=21234&q=picasa&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars – Mark