2014-10-31 130 views
1

我的代碼在KITKAT操作系統中遇到了問題。我想從圖庫中獲取/顯示圖像,並對其進行解碼,如果它的尺寸更大,並且它適用於低於19的API。但是當我在KITKAT中嘗試我的應用程序時,我總是得到空指針異常,因爲它返回。在KitKat上獲取圖像路徑

content://com.android.providers.media.documents/document/image:62 

我已經在尋找解決方案並找到了它。

input = context.getContentResolver().openInputStream(selectedImage); 
bmp = BitmapFactory.decodeStream(input); 

其顯示圖像,但我缺少一個步驟,即解碼它,因爲我不能讓圖像的確切文件路徑。

Bitmap imgbitmap = BitmapFactory.decodeFile(filepath, options_for_not_toobig); 

如何獲得KITKAT中圖像的確切地址或解碼圖像的方式?

感謝

回答

0

試試這個代碼,如果Android版本是奇巧:

ParcelFileDescriptor parcelFileDescriptor = getContentResolver().openFileDescriptor(uri, "r");   
FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor(); 
bitmap = BitmapFactory.decodeFileDescriptor(fileDescriptor); 
parcelFileDescriptor.close(); 

通過這個鏈接 - https://developer.android.com/guide/topics/providers/document-provider.html

0

我已經發布了一個答案在類似的問題被提起另一篇文章。你會找到獲取KitKat路徑的方法。 File Upload in WebView