1. 程式人生 > >小米手機無法讀取圖片路徑的問題

小米手機無法讀取圖片路徑的問題

今天在專案中測試提了一個小米手機更換頭像異常的問題,同事說他沒找到原因,經過檢視發現是讀不到相簿目錄檔案所對應的路徑,其他手機和小米手機獲得的源資料分別如下:
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(); }