android - 如何以编程方式删除下载管理器android中的通知

标签 android notifications download-manager

我已经在 Activity 中实现了 DownloadManager。下载效果很好。但是这个类会自动创建一个保留在状态栏中的通知。有没有办法删除这个通知。下面是代码:

 Uri uri = Uri.parse(url);
    DownloadManager.Request request = new DownloadManager.Request(uri);
    request.setTitle(fileName);
    request.setDescription(fileName);
    request.setVisibleInDownloadsUi(false);
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION);

    firmwareZipPath = new File(Environment.getExternalStorageDirectory()
            + File.separator
            + Constants.TEST,
            type + ".tgz");

    request.setDestinationUri(Uri.fromFile(firmwareZipPath));
    downloadId = downloadManager.enqueue(request);

我尝试向 request.setVisibleInDownloadsUi 提供 false。仍然显示通知。

最佳答案

来自official doc :

If set to VISIBILITY_HIDDEN, this requires the permission android.permission.DOWNLOAD_WITHOUT_NOTIFICATION.

所以需要在AndroidManifest.xml中添加权限:

<uses-permission
        android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />

欲了解更多信息,请查看official doc

关于android - 如何以编程方式删除下载管理器android中的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51667274/

相关文章:

java - JSON 解析不适​​用于 JSONObject

android - 如何在VideoView中播放视频?

java - 手动编译android应用程序的麻烦

ios - 当应用程序运行且通知托盘打开时处理推送通知

iPhone如何以编程方式访问通知中心

ios - 如何在 iOS 10 中设置应用程序图标角标(Badge)编号?

c# - 如何检测浏览器或下载管理器是否正在下载文件

java - 上传图片时出现OutOfMemory异常如何解决?

javascript - 将下载链接从网络浏览器传递到第三方应用程序

android - 使用下载管理器下载 zip 文件