【发布时间】:2012-02-12 13:39:24
【问题描述】:
我在我的应用程序中实现了一些计算量大的功能。根据输入的类型,线程可能需要几分钟才能返回。在此期间,我希望用户能够与其他活动一起执行不同的任务(即为下一次运行准备数据)。然后,在服务完成计算后,应该通过 Toast 通知用户结果已准备好,并且他应该检查他启动服务的活动。不幸的是,我被困在这一点上。
是否有可能以某种方式与此刻被销毁的 Activity 进行通信?就像修改保存的状态一样,这样当它重新创建时,结果就会显示出来。我发现的唯一通信方式是通过 Service 的广播,但这需要 Activity 进行侦听,这是不可能的,因为在 Service 完成时它不存在。
我想到的唯一解决方案是在服务完成后写入文件,然后尝试在 Activity 中读取它,但如果可能的话,我不希望使用文件系统。
我是在这里遗漏了什么还是想错了方向?
【问题讨论】:
标签: android multithreading service android-activity background