→ qweqweqweqwe:我猜你1. 拿到的是 該筆資料在mediaprovider的 id 02/24 02:37
→ qweqweqweqwe:也就是你的 "<資源編號>" 用這id去query 02/24 02:37
→ qweqweqweqwe:mediaprovider 的 _data 欄位 的確會拿到檔案在 02/24 02:37
→ qweqweqweqwe:本機上的位置 就我所知 應該所有media要去執行 02/24 02:38
→ qweqweqweqwe:檔案(ex. mp3/video) 都是用這個欄位居多 02/24 02:39
→ qweqweqweqwe:所以在 mediaScanner運行正常下 _data 這個欄位 02/24 02:40
→ qweqweqweqwe:應該就是你要的檔案位置沒錯 02/24 02:41
應該說檔案實際位置是 /sdcard/Pictures/<檔案>
但是用URI查詢出來是 /storage/sdcard0/Pictures/<檔案>
導致File object找不到檔案
→ pico2k:權限? 02/24 10:58
有可能,雖然反查路徑成功,但是無法讀取...
不過這個路徑在DDMS看不到耶
雖然暫時可以自己硬改為正確的路徑啦
不過這可能不是正規做法
※ 編輯: codemonkey 來自: 118.161.32.68 (02/24 13:35)
→ qweqweqweqwe:但MediaScanner應該有handle權限的問題 02/24 14:57
→ qweqweqweqwe:所以MediaProvider裡面應該只會放Current User可以 02/24 14:58
→ qweqweqweqwe:讀取的檔案才對 02/24 14:58
→ qweqweqweqwe:mnt/sdcard/ 會掛載到 /storage/sdcard + USERID 02/24 14:59
→ qweqweqweqwe:記得是這樣 不過在DDMS裡面可以看到它是如何link 02/24 14:59
→ qweqweqweqwe:就是了 有錯還請指正 02/24 15:01
→ qweqweqweqwe:對了我記得有特定的資料夾可以讓 user共享檔案的樣子 02/24 15:02
→ qweqweqweqwe:倒不如把你要執行的檔案放到那個資料夾 02/24 15:03
→ qweqweqweqwe:或許可以驗證是不是 權限 的問題 02/24 15:03