我无法使用xamarin表单下载android 11中的一些文件。下面的清单代码我正在使用。请帮助我创建xamarin表单。在此处输入图像描述我无法在安卓11 中找到错误
根据下面的文档,如果您的目标是Android 11/neneneba API 30,则需要使用清单中的权限MANAGE_EXTERNAL_STORAGE
。
Android 11将无法识别android:requestLegacyExternalStorage="true"
https://developer.android.com/training/data-storage/manage-all-files
如果您的应用程序以Android 11为目标:
- 将preserveLegacyExternalStorage标志设置为true以保留传统存储模式,使您的应用程序可以在他们会升级到针对Android 11的应用程序的新版本
- 继续选择退出作用域存储,以便您的应用程序可以继续访问Android 10上旧存储位置中的文件设备
有关更多详细信息,请查看下面的链接。https://developer.android.com/training/data-storage/use-cases#if_your_app_targets
使用Android.OS.Environment.DirectoryDownloads
而不是Android.OS.Environment.DirectoryDcim
。
使用DownloadManager
下载文件。
DownloadManager.Request request = new DownloadManager.Request(Android.Net.Uri.Parse(url));
request.AllowScanningByMediaScanner();
request.SetNotificationVisibility(DownloadVisibility.VisibleNotifyCompleted);
request.SetDestinationInExternalFilesDir(Forms.Context, Android.OS.Environment.DirectoryDownloads, "hello.jpg");
DownloadManager dm = (DownloadManager)Android.App.Application.Context.GetSystemService(Android.App.Application.DownloadService);
dm.Enqueue(request);
关于更多的代码,你可以查看我之前做的示例。如何在Android上下载像Xamarin WebView原生浏览器这样的文件?