2

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

4

0 回答 0