【问题标题】:proper way to know if an activity has been finished知道活动是否已完成的正确方法
【发布时间】:2018-06-16 18:32:09
【问题描述】:

我读过

"How to know activity has been finished? " 和 "Proper way to know whether an Activity has been destroyed"

但他们都没有得到真正的答案

我有一个后台任务正在更新屏幕的进度

用户有一个按钮可以随时取消后台任务,如果他这样做了,后台任务将被停止并完成活动......

但是由于所有这些都发生在异步环境中,因此可能会发生以下情况:

1- 后台任务堆叠一些通知以更新进度活动
2-用户取消后台任务
3-后台任务停止(我的意思是,停止有进度)并且活动完成(activity.finish()
4- 先前堆叠的更新被传递给试图对其字段执行一些更新并导致错误的活动

我想要一个“官方的 android 方法”,而不是在 onDestroy() 期间设置为 true 的布尔值

【问题讨论】:

    标签: android


    【解决方案1】:

    由于您通过调用 finish() 来完成活动,所以我认为在更新 UI 之前检查 isFinishing() 将适用于您的用例。

    对于更高级的用例,我建议您研究 RxJava 来执行与活动生命周期紧密耦合的异步后台任务。

    【讨论】:

      猜你喜欢
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多