繁体   English   中英

知道活动是否完成的正确方法

[英]proper way to know if an activity has been finished

我读了

如何知道活动是否已完成? ”和“ 知道活动是否已被销毁的正确方法

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

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

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

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

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

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

由于您通过调用finish()活动,因此我认为在更新用户界面之前检查isFinishing()在您的用例中是可行的。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM