xamarin - Xamarin 下载文件到 - 路径访问被拒绝
问题描述
我们在将任何类型的文件从我们的服务器下载到我们的手机时遇到问题。
我们遇到的问题是,每次我们尝试将所述文件保存到手机外部存储器时都会收到拒绝访问错误。
拒绝访问路径“/storage/emulated/0/Download/Test.txt”。
我们已授予它在以下位置找到的所有权限:
https
://developer.android.com/training/data-storage
,适用于文档和其他文件和媒体。
有谁知道为什么会这样?“下载”文件不是问题,但保存部分是问题。
解决方案
Android 6.0之后,我们需要在运行时请求权限。在 xamarin 中,您可以使用插件PermissionsPlugin来请求运行时权限。
用法
using Plugin.Permissions;
using Plugin.Permissions.Abstractions;
bool shouldRequest = await CrossPermissions.Current.ShouldShowRequestPermissionRationaleAsync(Permission.Storage);
if(shouldRequest)
{
PermissionStatus status = await CrossPermissions.Current.RequestPermissionAsync<StoragePermission>();
if(status==PermissionStatus.Granted)
{
//do something you want
}
else
{
//...
}
}
有关该插件的更多详细信息,您可以查看github 项目站点。
推荐阅读
- oculus - 如何在 Oculus Quest 浏览器中自动打开链接?
- r - 以向量化方式基于数据子集定义多行
- firebase - 从子集合 firestore + FLUTTER 中检索信息
- php - Laravel 关系不适用于 leftJoin
- regex - 带有可选下划线的下划线分隔表名的正则表达式
- hibernate - 如何在 hbm 文件中引用 java.time.LocalDate?
- javascript - 有没有办法通过节点运行 scrollreveal.js?
- python - 如何在 Discord.py 中检查消息是否包含表情符号?
- javascript - react-beautiful-dnd - 尝试在拖动列时添加或删除 Draggable... 警告
- reactjs - Visual Studio - 在 .NET5 托管的 React 应用程序使用的本地 NPM 包中调试 Typescript