写入访问被拒绝可移动SD卡

时间:2016-02-24 22:14:02

标签: c# android xamarin sd-card

我在写入外部SD卡时遇到问题。每当我尝试写它时,我都会得UnauthorizedAccessException。我已经在Android Manifest中检查了WriteExternalStorage 由于GetExternalStoragePublicDirectoryExternalStorageDirectory等都返回内部存储路径,因此我使用的是手动路径/storage/6363-3065/。如果我正在写入内部存储器,程序运行时没有错误,但在写入SD卡时会抛出异常。
我能解决这个问题吗?我的意思是,这不是不可能的,因为像我的文件管理器这样的其他程序可以在没有root或任何东西的情况下完成它......

编辑:

我正在使用搭载Android 6.0的LG G4。代码很简单:

string filepath = "/storage/6363-3065/Temp/tempfile.temp";
Directory.CreateDirectory(Path.GetDirectoryName(filepath));

1 个答案:

答案 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);

你得到错误吗?