Xamarin android保存文本文件

Wuh*_*uhu 8 c# android xamarin.android xamarin

我正在使用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());
           }
       }    
  }
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

System.UnauthorizedAccessException:拒绝访问路径"/mnt/sdcard/iootext.txt".

我在清单中添加了以下内容:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

我该如何修复错误?

aar*_*ond 4

如果您使用的是 Android 6.0+,则需要执行运行时检查权限。这可以像这样完成:

if ((CheckSelfPermission(Permission.ReadExternalStorage) == (int)Permission.Granted) && 
    (CheckSelfPermission(Permission.WriteExternalStorage) == (int)Permission.Granted))
Run Code Online (Sandbox Code Playgroud)

有关这方面的更多信息可以在此处的android 文档中找到。