程式要把路徑存進資料庫裡
以便之後叫出來
但是 android.net.Uri 的 getPath() 方法拿出來的
不是真正的檔案路徑
所以無法用這個來叫出圖片
為此又請出 Google 大神
真的被我找到了
趕快來記錄一下
無論是圖片還是音樂檔案都可用此取得路徑
解法如下:
//MediaStore.Images.Media.DATA 跟 MediaStore.Audio.Media.DATA 都是 "_data"
public static String getFilePathFromUri(Context context, Uri uri) {
CursorLoader cursorLoader= new CursorLoader(
context,
uri,
new String[]{ "_data" },
null,
null,
null
);
String returnStr = "";
Cursor cursor = cursorLoader.loadInBackground();
if(cursor.getCount()!=0){
cursor.moveToFirst();
returnStr = cursor.getString(cursor.getColumnIndexOrThrow("_data"));
}
return returnStr;
}
參考資料來源:
stackoverflow.com 的文章
沒有留言:
張貼留言