我尝试使用我的Xamarin.Android应用程序保存图像(位图/字节[])。
我用了
private string getPathToFile(string fileName)
{
File dir = new File(Environment.GetExternalStoragePublicDirectory(Environment.DirectoryPictures), "imgen");
if (dir.Exists())
{
dir.Mkdirs();
}
File image = new File(dir, fileName);
return image.Path;
}
所以返回的路径看起来像这样:
"/storage/emulated/0/Pictures/imgen/new.png"
但是当我使用Android设备监视器检查时,模拟器上不存在此路径。
我读到这个文件夹是某种到mnt / shell / emulated / ...文件夹的链接,它实际存在于模拟器上。
但是如何在我的应用程序中检索这个真实路径?
答案 0 :(得分:8)
我将此代码用于设备:
path = Android.OS.Environment.GetExternalStoragePublicDirectory(
Android.OS.Environment.DirectoryPictures).AbsolutePath;
string myPath= Path.Combine(path, "file.name");
对于模拟器,它不起作用。
答案 1 :(得分:1)
请使用以下代码......
`private void CreateDirectoryForPictures()
{
App._dir = new File(
Environment.GetExternalStoragePublicDirectory(
Environment.DirectoryPictures), "imgen");
if (!App._dir.Exists())
{
App._dir.Mkdirs();
}
}`
这个 CreateDirectoryForPictures()函数调用。然后创建文件夹imgen。