我正在尝试在android8api-level26模拟器上运行Xamarin-Android应用程序。当我试图将日志写入文件时,这是一个例外。
例外情况:
System.UnauthorizedAccessException:访问路径
代码:
string filename = "abc.txt";
var documentsPath = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
var filePath = Path.Combine(documentsPath, filename);
using (FileStream fs = new FileStream(filePath, FileMode.Append, FileAccess.Write))
using (StreamWriter sw = new StreamWriter(fs))
{
sw.WriteLine(text);
}
我已经给了
READ_EXTERNAL_STORAGE
和
WRITE_EXTERNAL_STORAGE
权限也是。
目标Android版本:
Android 8.0 API 26级Oreo
{System.UnauthorizedAccessException:访问路径
System.IO.FileStream..ctor(System.String路径,System.IO.FileMode
模式,System.IO.FileAccess访问,System.IO.FileShare共享,
System.Int32 bufferSize,System.Boolean匿名,
中的System.IO.FileOptions)[0x001aa]
/Users/builder/jenkins/workspace/xamarin-android-d15-6/xamarin-android/external/mono/mcs/class/corlib/System.IO/FileStream.cs:239
在System.IO.FileStream..ctor(System.String路径,System.IO.FileMode
System.Int32 bufferSize,System.Boolean isAsync,System.Boolean
匿名)[0x00000]输入
/Users/builder/jenkins/workspace/xamarin-android-d15-6/xamarin-android/external/mono/mcs/class/corlib/System.IO/FileStream.cs:149
在System.IO.FileStream..ctor(System.String路径,System.IO.FileMode
模式,System.IO.FileAccess访问)[0x00000]输入
/Users/builder/jenkins/workspace/xamarin-android-d15-6/xamarin-android/external/mono/mcs/class/corlib/System.IO/FileStream.cs:86
at(wrapper remoting invoke with check)
System.IO.FileStream..ctor(字符串、System.IO.FileMode、System.IO.FileAccess)
在NECMobilePOS.Client.DroidLatest.FileLogger\u Android.SaveText
C:\ABC\XYZ\FileLogger\u Android.cs:73}