我在写入外部SD卡时遇到问题。每当我尝试写它时,我都会得UnauthorizedAccessException
。我已经在Android Manifest中检查了WriteExternalStorage
由于GetExternalStoragePublicDirectory
,ExternalStorageDirectory
等都返回内部存储路径,因此我使用的是手动路径/storage/6363-3065/
。如果我正在写入内部存储器,程序运行时没有错误,但在写入SD卡时会抛出异常。
我能解决这个问题吗?我的意思是,这不是不可能的,因为像我的文件管理器这样的其他程序可以在没有root或任何东西的情况下完成它......
编辑:
我正在使用搭载Android 6.0的LG G4。代码很简单:
string filepath = "/storage/6363-3065/Temp/tempfile.temp";
Directory.CreateDirectory(Path.GetDirectoryName(filepath));
答案 0 :(得分:0)
试试这个:
string text="TestText";
var dir = System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirectory.ToString(), "yourAppName");
if (Directory.Exists(dir) == false)
{
Directory.CreateDirectory(dir);
}
string dbFileSDCard = System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirectory.ToString(), "yourAppName/YourFile.txt");
System.IO.File.WriteAllText(@dbFileSDCard, text);
你得到错误吗?