我查詢Android設備上的所有圖像這樣:爲什麼File.Exists返回false?
string[] columns = { MediaStore.Images.Media.InterfaceConsts.Data,
MediaStore.Images.Media.InterfaceConsts.Id };
string orderBy = MediaStore.Images.Media.InterfaceConsts.Id;
var imagecursor = ManagedQuery(MediaStore.Images.Media.ExternalContentUri, columns, null, null, orderBy);
for (int i = 0; i < this.Count; i++) {
imagecursor.MoveToPosition(i);
Paths[i]= imagecursor.GetString(dataColumnIndex);
Console.WriteLine(Paths[i]);
Console.WriteLine(System.IO.File.Exists(Paths[i]));
}
的問題是,輸出顯示,一些文件不存在。下面是一個示例輸出:
/storage/sdcard0/Download/On-Yom-Kippur-Jews-choose-different-shoes-VSETQJ6-x-large.jpg
假
/存儲/ sdcard0 /下載/397277_10151250943161341_876027377_n.jpg
假
/存儲/ sdcard0 /下載/ Roxy_Cottontail_ & _Melo-X_Present ..._ Some_Bunny_Love's_You.jpg
假
/存儲/ sdcard0 /下載/專輯最滾動的石頭,有些-Girls.jpg
真
/storage/sdcard0/Download/some-people-ust-dont-appreciate-fashion[1].jpg
真
/storage/sdcard0/Download/express.gif
真
...
/storage/sdcard0/Download/some-joys-are-expressed-better-in-silence.JPG
假
這怎麼可能?我從互聯網上自己下載這些圖片!它們應該存在於磁盤中。
您正在編譯什麼API級別,並且您是否擁有正確的EXTERNAL_STORAGE權限? –
我的目標是框架2.3。我沒有READ_EXTERNAL_STORAGE,但我確實有WRITE_EXTERNAL_STORAGE。添加READ之後得到相同的結果 –
我正在使用Android支持V4 –