System.UnauthorizedAccessException 为什么

我试图通过 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();


手掌心
浏览 178回答 2
2回答

收到一只叮咚

我认为您正在写入内部存储器而不是外部存储器。在新的 Android 上,您需要让用户接受权限。所以大多数情况下会有一个警告弹出窗口允许写入权限、位置等。你也可以试试这个:Android Dev Console support

繁星coding

出现此问题的原因可能是您测试应用程序的设备/模拟器具有 API 23 或更高版本。这意味着清单权限不够,您需要添加运行时权限要求写入文件。此链接将使用 xamarin 对其进行解释,这是官方文档。运行时权限基本上向用户显示一个对话框,让他决定是否允许应用程序访问例如设备的内部存储。哦,本文还将帮助您实施它。
打开App,查看更多内容
随时随地看视频慕课网APP