在我的应用程序中,我提供了下载 PDF 格式报告的功能。一切都很好,直到我在 Android 10 及更低版本上测试我的应用程序。最近我将设备更新到 Android 11,现在我无法下载共享存储中的任何文件。我在下载文件时遇到Access Denied错误。
我已授予读取和写入外部存储的权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)
我的下载路径是
Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads).AbsolutePath;
Run Code Online (Sandbox Code Playgroud)
我也设置android:requestLegacyExternalStorage="true"了AndroidManifest.xml
我下载文件的代码如下所示
public async void DownloadSupplierSample(object sender, EventArgs e)
{
try
{
string basepath;
if (Device.RuntimePlatform == Device.Android)
basepath = DependencyService.Get<IDownloadPath>().GetDownloadsPath();
else
basepath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "..", "Library");
PermissionStatus readstatus = await Permissions.CheckStatusAsync<Permissions.StorageRead>();
PermissionStatus writestatus = await Permissions.CheckStatusAsync<Permissions.StorageWrite>();
if (readstatus == PermissionStatus.Granted && writestatus == PermissionStatus.Granted)
{
DownloadSupplier(basepath);
}
else
{
var read = await Permissions.RequestAsync<Permissions.StorageRead>();
var write …Run Code Online (Sandbox Code Playgroud)