我有两项活动。 我有一项活动,我需要获取Facebook朋友的数据,他们的活动,以及 将所有这些数据保存到数据库,然后显示包含特定信息的页面 这需要很多时间。所以在做这一切之前,我将意图转移到另一个活动 因此,Activity#1在后台创建解析器并将其保存在数据库中。 但是现在我需要在所有计算完成后通知我的Activity#2以便我可以 启用一些UI按钮以显示现在存储在数据库中的数据。
答案 0 :(得分:0)
如果你真的需要这两个活动(因为你不需要活动#1,如果它的唯一任务就是下载数据),那么AsyncTask
就没有用了,因为它被设计成附加到一个具体Activity
。
您要做的是开始Service
(其中AsyncTask
或更好,IntentService
)。完成工作后,你可以这样做:
Intent finish = new Intent(com.mypackage.intent.ACTION_DOWNLOADCOMPLETE);
sendBroadcast(finish);
在您的活动#2中,使用BroadcastReceiver
收听此广播。