活动B在调用finish()后通知活动A.

时间:2018-05-20 21:36:46

标签: java android

我从活动A开始活动B.活动B对我的数据执行某些操作,在某些时候我调用finish();,但是活动B仍然在后台执行某些操作我的数据库,当它完成时我想要在活动A中得到通知,此过程已完成。

因为我无法通过其他活动调用方法,所以我尝试使用startActivityForResult解决此问题,但因为我在实际设置结果之前调用了finish();这似乎不起作用任

关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:2)

不要在Activity内完成可能超过Service生命周期的任务。在这种情况下,在Activity中执行您的任务,并将结果通知给Activity。有一些方法可以使用BroadcastReceiverMessengerHandlerBound ServiceService和{{1}}之间进行通信。您还可以使用EventBus库进行此通信。

检查thisthis主题是否在“活动与服务”之间进行通信

答案 1 :(得分:0)

尝试关闭数据库,并在成功关闭后,“通知”您的活动A,了解此结果并完成活动。坦率地说,这是一个非常不精确的问题:P 如果你想从另一个类调用某个方法,请传递活动的Context。