我正在使用Xamarin Forms的媒体插件(由James Montemagno开发),拍照并存储实际上都正常工作。我已经在模拟器上调试了图像的创建过程,它已经被存储在
/storage/emulated/0/Android/data/{APPNAME}.Android/files/Pictures/{DIRECTORYNAME}/{IMAGENAME}
然而,在我的应用程序中,它将从API获取文件名列表,我希望检查该文件夹中是否存在该图像。
以下方法在IOS上运行良好。
var documentsDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
string jpgFilename = System.IO.Path.Combine(documentsDirectory, App.IMAGE_FOLDER_NAME);
jpgFilename = System.IO.Path.Combine(jpgFilename, name);
我已经尝试过以下两种方法在安卓上获取它,但都是错误的。
var documentsDirectory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
string jpgFilename = System.IO.Path.Combine(documentsDirectory, App.IMAGE_FOLDER_NAME);
jpgFilename = System.IO.Path.Combine(jpgFilename, name);
Java.IO.File dir = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DataDirectory + "/" + App.IMAGE_FOLDER_NAME + "/" + name);
dir最终变成了/storage/emulated/0/data/{DIRECTORY}/{IMAGENAME}
jpgFileName最终变成了/data/data/{APPNAME}.Android/files/{DIRECTORYNAME}/{IMAGENAME}
我不想在路径中硬编码任何内容,但是这两个路径都不正确。我在GIT文档中没有找到获取文件路径的方法,除非查看拍照时创建的文件的路径。