J'essaie d'utiliser DownloadManager
dans une de mes classes 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);
Sans setNotificationVisibility
, ce code fonctionne bien. Mais il affiche une notification, que je ne veux pas, car j'utilise ce code pour le chargement d'images paresseuses dans un ListView
.
Je comprends, cette notification peut être masquée avec
downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
Mais dans ce cas, mon application se bloque avec:
02-19 02: 24: 24.055: E/AndroidRuntime (2572): Java.lang.SecurityException: valeur non valide pour la visibilité: 2 02-19 19: 24: 24.055: E/AndroidRuntime (2572): sur Android.os.Parcel .readException (Parcel.Java:1327) 02-19 02: 24: 24.055: E/AndroidRuntime (2572): sur Android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.Java:181) 02-19 02: 24: 24.055: E/AndroidRuntime (2572): sur Android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.Java:135) 02-19 02: 24: 24.055: E/AndroidRuntime (2572): sur Android.content.ContentProviderProxy.insert (ContentProviderNative.Java: 415) 02-19 02: 24: 24.055: E/AndroidRuntime (2572): sur Android.content.ContentResolver.insert (ContentResolver.Java:730) 02-19 02: 24: 24.055: E/AndroidRuntime (2572): sur Android.app.DownloadManager.enqueue (DownloadManager.Java:885) 02-19 02: 24: 24.055: E/AndroidRuntime (2572): sur MyService.getImage (MyService.Java:112)
Quel est le problème avec setNotificationVisibility
? Comment puis-je avoir la notification?
Vous avez besoin de l'autorisation suivante dans le manifeste selon la documentation:
<uses-permission
Android:name="Android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />