I'm trying to use DownloadManager
in a Service
class of mine:
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);
Without setNotificationVisibility
, this code works well. But it displays a notification, that I don't want, because I use this code for lazy-loading images in a ListView
.
I understand, this notification can be hidden with
downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
But in that case, my application crashes with:
02-19 02:24:24.055: E/AndroidRuntime(2572):
java.lang.SecurityException: Invalid value for visibility: 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)
Whats' wrong with setNotificationVisibility
? How can I had the notification?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…