android - 当应用程序被销毁时,通知栏中的异步任务和下载进度不起作用

标签 android android-asynctask android-notifications android-notification-bar

我正在使用异步任务下载一些图像并且一切正常,然后我想到了在通知区域显示下载进度的想法,所以我使用了本教程并获得了 100% 的成功。看到这个链接我认为这是一个不错的link对于初学者。

但是后来我测试了一些东西并且在其中非常失败这些如下:

这是我观察到的

1> 当我使用任务管理器关闭应用程序或当我实际执行此操作时,异步任务停止工作。

@Override
protected void onDestroy() {
    super.onDestroy();
    System.exit(0);
}

使用此代码的目的是测试我的 AsyncTask 是否在后台工作。

2> 我希望如果我的应用程序被破坏,下载过程应该继续并继续更新通知栏中的下载进度,是的,我想在通知中显示用于停止下载的按钮和打开 Activity 。

请告诉我如何实现这两点。我注意到 Play 商店应用程序的下载过程,它与我想要的完全一样。

请帮我解决这两点。

最佳答案

你应该使用 service要做到这一点。 Service 与 UI 的 Activity 有不同的生命周期,确保即使 UI 被破坏它也能继续工作。事实上,这就是服务的意义所在,即不直接绑定(bind)到 UI 的长时间运行的操作。

服务当然可以向栏发布通知并接收来自它的输入

关于android - 当应用程序被销毁时,通知栏中的异步任务和下载进度不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33624844/

相关文章:

android - 如何在android 4.1通知中使用bigTextStyle?

android - 无法添加窗口 -- token null 不适用于应用程序

java - 错误对话框.show();警报对话框

java - 如何中途停止异步任务

android - ListView 中的性能缓慢

android - 从通知启动 Activity 后返回主 Activity

java - 编辑文本到 Int

android - 将 google-play-services 添加到 android 依赖项

android - [ANDROID]在HandlerThread中实现消息延迟

android - 无法展开 Firebase 通知