Я пытаюсь использовать 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): в
android.os.Parcel.readException (Parcel.java:1327) 02-19 02: 24: 24.055:
E / AndroidRuntime (2572): в
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): в
android.content.ContentResolver.insert (ContentResolver.java:730) 02-19
02: 24: 24.055: E / AndroidRuntime (2572): в
android.app.DownloadManager.enqueue (DownloadManager.java:885) 02-19
02: 24: 24.055: E / AndroidRuntime (2572): в
MyService.getImage (MyService.java:112)
Что не так с setNotificationVisibility
? Как я мог получить уведомление?