【发布时间】:2016-08-01 09:32:29
【问题描述】:
我正在使用 Xamarin.Android,我想将 .txt 文件保存到 SD 卡。这是我正在使用的代码:
private void SavetoSd()
{
var sdCardPath = Android.OS.Environment.ExternalStorageDirectory.Path;
var filePath = System.IO.Path.Combine(sdCardPath, "iootext.txt");
if (!System.IO.File.Exists(filePath))
{
using(System.IO.StreamWriter write = new System.IO.StreamWriter(filePath,true))
{
write.Write(etSipServer.ToString());
}
}
}
但是,我收到以下错误:
System.UnauthorizedAccessException:访问路径 “/mnt/sdcard/iootext.txt”被拒绝。
我在清单中添加了以下内容:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
我该如何解决这个错误?
【问题讨论】:
-
你试过什么?可能该目录不可写(未设置可写位)或整个 SD 安装为只读。
-
如果您之后添加了权限,请尝试在您的设备上卸载该应用程序,清理项目并重建它。有时它们会不同步,因为构建过程会尝试优化:)
-
我没有安装但没有帮助:/
-
您在哪个版本的 Android 上运行?如果您在 Marshmallow 或更高版本上运行,则需要使用
RequestPermission请求用户许可。 blog.xamarin.com/… -
var sdCardPath = Android.OS.Environment.ExternalStorageDirectory.Path;的方法似乎被贬低了。我没找到,所以我问了question。 Microsoft Documentation 表明使用 .Net 方法可能更容易。如果我错了,请纠正我。
标签: c# android xamarin xamarin.android