如何使用IntentService加载资源,以便稍后可以将它们用于某些Activity

时间:2013-07-18 21:42:51

标签: android android-intent android-activity android-service intentservice

第一次在这里发帖提问:)

我正在开发一个 Android 应用,该应用需要来自网址的资源,并使用 IntentService 来加载它。

此应用有3项活动:

  • 活动 W :欢迎活动,有一些设置,可以打开A或B.

  • 活动 A :有些人使用网址中的资源。

  • 活动 B :有些人使用网址中的资源。

活动 W 会自动启动 IntentService ,以便开始在后台加载资源以节省时间。这样,当用户到达活动 A B 时,需要资源,工作已完成或差不多完成。

问题:当 IntentService 成功加载资源时,它不知道显示活动。也许用户仍处于活动 W ,或者可能是 A B

问题:我如何轻松将资源(它是一个ArrayList)从 IntentService 传递到活动 B ,以哪个展示?如果用户仍然在 W ,那么放置资源的位置可以稍后通过 A B 来检索?

谢谢。

2 个答案:

答案 0 :(得分:0)

最佳解决方案是使用BroadcastReceiver。如果您的IntentService完成了工作,它会广播结果。您的活动必须实现接收器,才能获得广播。请记住在您的活动中相应地注册和取消注册接收者。

这是一个很好的tutorial如何使用它。

答案 1 :(得分:0)

您也可以使用LocalBroadcastManager