u2g*_*les 5 android cancel-button android-notifications android-download-manager
Android N 在下载管理器通知中有一个新的取消按钮。
我想在我的应用程序中执行一些代码,以在用户按下此按钮时停止进度条。如果有的话,调用哪个方法?
另请注意,意图过滤器操作 DownloadManager.ACTION_NOTIFICATION_CLICKED 仅在用户单击通知本身时触发,而不是在他/她单击“取消”按钮时触发。
if_downloadManager = new IntentFilter();
if_downloadManager.addAction(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
if_downloadManager.addAction(DownloadManager.ACTION_NOTIFICATION_CLICKED);
br_downloadManager = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {
....
}
if (DownloadManager.ACTION_NOTIFICATION_CLICKED.equals(action)) {
// This code is not executed when the user presses the Cancel Button in the Download Manager Notification
}
}
};
Run Code Online (Sandbox Code Playgroud)
提前致谢。
我在我的应用程序中遇到了同样的问题,我必须处理下载通知上的取消按钮并从本机下载中删除下载应用程序中删除下载。
事实证明,如果您使用意图过滤器注册接收器:DownloadManager.ACTION_DOWNLOAD_COMPLETE,则在启动取消或下载删除时始终会调用它。
那么,如何区分下载完成和下载删除呢?
嗯,这很简单:
dmid获取已取消下载的下载管理器 ID ( ) Intent data,该 ID 作为参数传递给handleReceive您的函数BroadcastReceiver.dmid查询 DownloadManager 的状态。dmid的值DownloadManager.STATUS_SUCCESSFUL是false所述下载。作为参考,您可以在这里查看我是如何做到的:
| 归档时间: |
|
| 查看次数: |
3772 次 |
| 最近记录: |