****** Теперь вы завершили код, но дисплей уведомления снова запущен после отмены!DownloadManager, никогда не заканчивающееся уведомление
Я использую DownloadManager для загрузки файла по URL-адресу, он отлично работает. код создает менеджер:
String[] url = {urlsProz,urlsMb};
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url[i]));
downloadFile=url[i];
request.setDescription("Some description");
request.setTitle("Some titles");
// in order for this if to run, you must use the android 3.2 to compile your app
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE);
}
String s= Environment.DIRECTORY_DOWNLOADS;
Log.i("*** testDownloadManager***",s+"/"+url[i]);
request.setDestinationInExternalPublicDir(s, "name-of-the-file"+(++j)+".ext");
// get download service and enqueue file
manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
//Download progress will be showing in the notification bar
downloadId=manager.enqueue(request);
Log.i("*** testDownloadManager***","downloadId:"+downloadId);
Мой код после нажатия кнопки отмены-:
if (manager != null) {
//remove() method will return the number of downloads removed
//Any downloaded files (complete or partial) will be deleted
int i = manager.remove(downloadId);
Log.i(TAG, downloadId + "," + i + " cancelled");
NotificationManager notifManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
//notifManager.cancelAll(); //doesn'nt work
manager = null;
}
Менеджер отменяется, но дисплей уведомление по-прежнему работает, даже после того, как приложение. Любые идеи как отменить это уведомление?
метод Привет Wicki
Попробуйте отменить его, используя свой ID: 'notifManager.cancel (notificationID);'. И убедитесь, что у вас есть поле 'notifManager' внутри вашего класса вместо локальной переменной. –