我用這個方法來從URI得到的文件路徑:錯誤從Download文件夾路徑獲取圖像的Android
public String getPath(Uri uri) {
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
String document_id = cursor.getString(0);
document_id = document_id.substring(document_id.lastIndexOf(":") + 1);
cursor.close();
cursor = getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null, MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null);
cursor.moveToFirst();
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
cursor.close();
return path;
}
如果我嘗試從一個圖像文件獲取文件的路徑,從畫廊的作品完美。但是,當我嘗試從下載文件夾中的圖像文件獲取路徑文件時,不起作用。有什麼建議麼。非常感謝你提前。
Hi CommonsWare。非常感謝你真的很好的答案。選擇圖像後,Uri被正確傳回。但是當我嘗試獲取donwload文件夾中該圖像的實際路徑時,它會崩潰。這個問題似乎是特定於這個特定的文件夾。我不知道如何管理ContentResolver或openInputStream()。那麼,我怎麼能得到這個文件夾中的實際位置? – agustincola
@agustincola:「我怎麼能得到這個文件夾中的實際位置?」 - 你沒有。您可以使用'Uri'訪問與內容相關的流,使用'ContentResolver'。這應該包含在你的Android應用程序開發書或課程中。它也包含在[文檔](https://developer.android.com/training/secure-file-sharing/request-file.html)中。 – CommonsWare
好的。感謝您的時間。 – agustincola