DownloadManager.Request.setNotificationVisibility失败,并显示jSecurityException:无效值:2

我正在尝试在我的Service类中使用DownloadManager

  DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); //imageUri is a valid Uri Request downloadRequest= new Request(imageUri); //without this line, it works downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN); //subpath is valid downloadRequest.setDestinationInExternalFilesDir(this, null, subPath); downloadManager.enqueue(downloadRequest); 

没有setNotificationVisibility ,这个代码运行良好。 但它显示了一个通知,我不想要,因为我使用这个代码在ListView延迟加载图像。

我明白,这个通知可以隐藏起来

 downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN); 

但在这种情况下,我的应用程序崩溃:

02-19 02:24:24.055 E / AndroidRuntime(2572):java.lang.SecurityException:无效值的可见性:2 02-19 02:24:24.055:E / AndroidRuntime(2572):at android.os.Parcel .readException(Parcel.java:1327)02-19 02:24:24.055:E / AndroidRuntime(2572):at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:181)02-19 02:24:24.055:E / AndroidRuntime(2572):在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)02-19 02:24:24.055:E / AndroidRuntime(2572):在android.content.ContentProviderProxy.insert(ContentProviderNative.java: 415)02-19 02:24:24.055:E / AndroidRuntime(2572):at android.content.ContentResolver.insert(ContentResolver.java:730)02-19 02:24:24.055:E / AndroidRuntime(2572):at android.app.DownloadManager.enqueue(DownloadManager.java:885)02-19 02:24:24.055:E / AndroidRuntime(2572):at MyService.getImage(MyService.java:112)

setNotificationVisibility什么问题? 我怎么能通知?

根据文档,您需要清单中的以下权限:

 <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />