无法使用 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.EssentialPickerFile 并手动保存在正确的路径中。

如果有人有想法以正确的方式进行。

谢谢。 Zebiphire。

【问题讨论】:

【参考方案1】:

我有一些麻烦。这是关于这个主题=> System.UnauthorizedAccessException:访问路径“/storage/[Name]/[nameFolder]/[fileName].txt 被拒绝。 在 System.IO.FileStream 等……

根据您的错误信息,我猜您可能需要在运行时启用权限。

您应该在 Android 和 UWP 中启用 READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE 权限。

【讨论】:

是的。在清单和 mainActivity 中。如果不 ! => ActivityCompat.RequestPermissions(this, new string[] Manifest.Permission.WriteExternalStorage , 0); 有权限我不能在闪存驱动器上写。 有一些错误信息?如果没有,说明你已经读到了写权限,所以请在这里提供写数据到U盘的代码。

以上是关于无法使用 Xamarin Android/Uwp 在 USB 闪存驱动器中写入文件的主要内容,如果未能解决你的问题,请参考以下文章

xamarin android,UWP 网络类型和IP地址

Xamarin Forms:带圆角的 StackLayout

无法使用 Xamarin.Android 中的 Xamarin.Mobile 组件保存联系人

无法使用 C# 从 Xamarin.iOs 和 Xamarin.Android 连接到 MySql

无法在 Xamarin.Forms 中实现导航

无法使用 Xamarin.Forms WebView 进行 Dropbox 身份验证