我使用的是Android DownloadManager,可以取消正在进行的下载。这个调用还从我测试过的所有设备的通知栏中删除了下载进度,但从Nexus 5(运行Android 5.0.1)中删除了。行为是下载被取消,但通知没有,并且在请求取消时被困在完成百分比。
以下是我如何将请求对象设置为显示通知
DownloadManager.Request.setNotificationVisibility(Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
这是我调用后看到的相关日志消息输出
DownloadManager.remove(downloadId);
01-12 13:37:41.205 746-746/? V/NotificationService﹕ pkg=com.android.providers.downloads canInterrupt=false intercept=true
01-12 13:37:41.385 21155-7714/? W/DownloadManager﹕ [5020] Stop requested with status CANCELED: download canceled
01-12 13:37:41.385 21155-7714/? D/DownloadManager﹕ [5020] Finished with status CANCELED
为了解决这个问题,我不得不调用DownloadManager#remove()两次。