DownloadManager
单击通知时,我无法打开下载的图像。
这就是它的重现性:
我使用DownloadManager
.
然后,当我单击有关此下载的通知时,操作系统会显示一个对话框,我可以在其中选择应用程序以打开下载的图像,但是当我选择任何应用程序时,它们都不起作用。
例如,当使用 Google Photos 打开时,我在 Logcat 中看到了这个错误。
E/DatabaseUtils: Writing exception to parcel
java.lang.IllegalArgumentException: Unknown URI: content://downloads/public_downloads/12322
at com.android.providers.downloads.DownloadProvider.query(DownloadProvider.java:1298)
at android.content.ContentProvider.query(ContentProvider.java:1379)
at android.content.ContentProvider.query(ContentProvider.java:1475)
at android.content.ContentProvider$Transport.query(ContentProvider.java:278)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:106)
at android.os.Binder.execTransactInternal(Binder.java:1154)
at android.os.Binder.execTransact(Binder.java:1123)
这在 Android 11 上重现,在以前的版本上一切正常。
检查文件系统时,图像在Downloads
文件夹中
我正在使用此代码下载图像
val downloadService: DownloadManager = activity.getSystemService(DOWNLOAD_SERVICE) as val downloadService: DownloadManager = activity.getSystemService(DOWNLOAD_SERVICE) as DownloadManager
downloadService.enqueue(DownloadManager.Request(attachment.getAttachmentUri())
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI or DownloadManager.Request.NETWORK_MOBILE)
.setAllowedOverRoaming(false)
.setTitle(title)
.setDescription("Downloading attachments")
.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, title)
.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
)
在Pixel3a Android 11上测试
targetSdkVersion 30
compileSdkVersion 30