无法使用 Xamarin Android/Uwp 在 USB 闪存驱动器中写入文件
Posted
技术标签:
【中文标题】无法使用 Xamarin Android/Uwp 在 USB 闪存驱动器中写入文件【英文标题】:Can't write file in USB flash drive with Xamarin Android/Uwp 【发布时间】:2019-08-03 06:32:39 【问题描述】:我有一些麻烦。
就是关于这个主题 => System.UnauthorizedAccessException : Access to the path “/storage/[Name]/[nameFolder]/[fileName].txt is denied.
At System.IO.FileStream etc….
我知道 SOF 中已经有这个主题,但我找不到 Xamarin.android 的解决方案。 Xamarin.Uwp 也一样,没有访问权限。
我无法在根路径(从 USB 闪存驱动器路径)中写入文件 =
/storage/[NameOfTheFlashDrive]
如果我用安卓路径也是一样的=
content://com.android.externalstorage.documents/documents/[NameOfTheFlashDrive]
同样的消息> System.UnauthorizedAccessException 访问路径
我不知道如何继续。
我用过=
File.WriteAllText(filePath, Data);
并且我有权在外部存储中写入文件。
唯一的解决方案是使用Plugin.Essential
或PickerFile
并手动保存在正确的路径中。
如果有人有想法以正确的方式进行。
谢谢。 Zebiphire。
【问题讨论】:
【参考方案1】:我有一些麻烦。这是关于这个主题=> System.UnauthorizedAccessException:访问路径“/storage/[Name]/[nameFolder]/[fileName].txt 被拒绝。 在 System.IO.FileStream 等……
根据您的错误信息,我猜您可能需要在运行时启用权限。
您应该在 Android 和 UWP 中启用 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限。
【讨论】:
是的。在清单和 mainActivity 中。如果不 ! => ActivityCompat.RequestPermissions(this, new string[] Manifest.Permission.WriteExternalStorage , 0); 有权限我不能在闪存驱动器上写。 有一些错误信息?如果没有,说明你已经读到了写权限,所以请在这里提供写数据到U盘的代码。以上是关于无法使用 Xamarin Android/Uwp 在 USB 闪存驱动器中写入文件的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin Forms:带圆角的 StackLayout
无法使用 Xamarin.Android 中的 Xamarin.Mobile 组件保存联系人