System.UnauthorizedAccessException为什么

时间:2019-04-21 19:34:41

标签: c# android permissions

嗨,我的权限有问题(我认为)。我试图通过MegaApiClient从Mega.nz下载文件,并且在尝试执行该问题时出现:  “ System.UnauthorizedAccessException:对路径'/ storage / emulated / 0 / Download'的访问被拒绝。”

所以我正在尝试不同的方法来完成此操作,例如更改路径文件夹或只是简单地创建新文件并将所有内容写入该新文件,但没有任何效果。 当然,我已经在AndroidManifest.xml中添加了权限

<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
<usespermissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 var client = new MegaApiClient();
 client.LoginAnonymous();
 Uri fileLink = new Uri(Link);
 INodeInfo node = client.GetNodeFromLink(fileLink);
 client.DownloadFile(node, node.Name); //problem occurs here 
 client.Logout();

2 个答案:

答案 0 :(得分:0)

由于您在其上测试您的应用的设备/仿真器具有API 23或更高版本,因此可能会出现问题。这意味着清单权限还不够,您需要添加运行时权限以请求写入文件。

This link will explain it using xamarinthis is the official documentation

运行时权限基本上向用户显示一个对话框,该对话框使他可以决定是否允许该应用访问设备的内部存储。

哦和this article也将帮助您实现它。

答案 1 :(得分:0)

我认为您正在写入内部存储器而不是外部存储器。

在新的Android上,您需要使用户接受许可。因此,大多数情况下会出现警告弹出窗口,以允许写入权限,位置等。

您也可以尝试以下操作:Android Dev Console support