我有一個從mediastore圖像選擇返回的onActivityResult,我可以用下邊的代碼給一個圖像獲得一個URI:
Uri selectedImage = data.getData();
把它轉換成一個字符串給這個:
content://media/external/images/media/47
或者轉換成一個路徑給這個::
/external/images/media/47
然後我好像不能找到一個方法把它轉換成一個絕對路徑,因為我想要把一個圖片加載成位圖而不用四處復制。我知道這個可以用URI和內容解析器來做,但是這似乎要打破了要一直重啟手機,我猜MediaStore不能保持它的在不斷重啟之間相同的編號。
public String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}