我正在尝试在我的DownloadManager
类中使用Service
:
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):at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135) 02-19 02:24:24.055:E / AndroidRuntime(2572):at 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
出了什么问题?我怎么能收到通知?
答案 0 :(得分:113)
根据文档,您需要在清单中获得以下权限:
<uses-permission
android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
答案 1 :(得分:1)
,但还需要将该权限添加到其中未提供的rn-fetch-blob清单中。
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />