android 選擇圖片上傳報錯

從圖庫裏選擇圖片是我們開發中非常常用的功能,如上傳頭像,上傳相冊。Android4.4之前的版本打開圖庫選擇圖片可以這樣:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
intent.setType("image/*");
activity.startActivityForResult(intent, START_ALBUM_CODE);

或者是:

Intent intent = new Intent(Intent.ACTION_PICK, null);  
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,  
"image/*");  
activity.startActivityForResult(intent, START_ALBUM_CODE);  

然後我們重寫onActivityResult(),在返回的data裏我們就能獲取圖片的路徑(怎麼獲取path可以到網上搜索下)。

可是在Android4.4上測試卻出現問題了,獲取不到正確的路徑,獲取的path是這樣的:/document/image%3A29817,和我們正常的path:/mnt/sdcard/DCIM/100MEDIA/IMAG0021.jpg,不一樣。
在Android4.4上有效的方法應該是這樣(也兼容4.4以前的版本):

Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);  
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");  
activity.startActivityForResult(intent, START_ALBUM_CODE);  

這樣就解決問題了..
引用:http://blog.csdn.net/xiechengfa/article/details/46045077

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章