小米手機無法讀取圖片路徑的問題
阿新 • • 發佈:2019-02-05
今天在專案中測試提了一個小米手機更換頭像異常的問題,同事說他沒找到原因,經過檢視發現是讀不到相簿目錄檔案所對應的路徑,其他手機和小米手機獲得的源資料分別如下:
Intent { dat=content://media/external/images/media/** (has extras) }
Intent { dat=file:///storage/emulated/0/DCIM/Camera/*.jpg typ=image/jpeg }
於是自己寫了一段單元測試的程式碼,完美解決。
解決方案:直接上程式碼
String path = "";
Uri uri = data.getData();
if (!TextUtils.isEmpty(uri.getAuthority())) {
Cursor cursor = getContentResolver().query(uri, null , null, null, null);
if (cursor != null) {
int index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
if (cursor.moveToFirst()) {
path = cursor.getString(index);
cursor.close();
}
}
}else {
path = uri.getPath();
}