首页 > 解决方案 > Xamarin 下载文件到 - 路径访问被拒绝

问题描述

我们在将任何类型的文件从我们的服务器下载到我们的手机时遇到问题。
我们遇到的问题是,每次我们尝试将所述文件保存到手机外部存储器时都会收到拒绝访问错误。

拒绝访问路径“/storage/emulated/0/Download/Test.txt”。


我们已授予它在以下位置找到的所有权限:
https
://developer.android.com/training/data-storage ,适用于文档和其他文件和媒体。

有谁知道为什么会这样?“下载”文件不是问题,但保存部分是问题。

标签: xamarinxamarin.androidaccess-denied

解决方案


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 项目站点


推荐阅读