Xamarin 下载文件到 - 路径访问被拒绝
Xamarin Download file to - path access denied
我们在将任何类型的文件从我们的服务器下载到我们的 phone 时遇到问题。
我们遇到的问题是,每次我们尝试将所述文件保存到 phone 外部存储器时,我们都会收到拒绝访问错误。
Access to the path "/storage/emulated/0/Download/Test.txt" is denied.
我们已授予它在以下位置找到的所有权限:
https://developer.android.com/training/data-storage
对于文档和其他文件以及媒体。
有谁知道为什么会这样? 'downloading' 文件不是问题,但保存部分是问题。
在Android6.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 project site .
我们在将任何类型的文件从我们的服务器下载到我们的 phone 时遇到问题。
我们遇到的问题是,每次我们尝试将所述文件保存到 phone 外部存储器时,我们都会收到拒绝访问错误。
Access to the path "/storage/emulated/0/Download/Test.txt" is denied.
我们已授予它在以下位置找到的所有权限:
https://developer.android.com/training/data-storage
对于文档和其他文件以及媒体。
有谁知道为什么会这样? 'downloading' 文件不是问题,但保存部分是问题。
在Android6.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 project site .