1

嗨 stackoverflow 社区。这是我第一次问问题,如果我在这篇文章中有错误,请原谅我

我正在尝试使用本文中解释的结果接收器模式与意图服务通信活动,stackoverflow 中讨论。Eveything 在示例应用程序中运行良好,但我不确定当 Activity 进入后台或被 Android OS 杀死时这种模式是否有效。

基本上,我想要实现的是以下应用程序行为:

  1. Activity:启动 IntentService 做一些工作。传递 ResultReceiver 以接收进度更新
  2. IntentService:开始工作,获取Activity的ResultReceiver。
  3. IntentService : 工作完成10%,通过向Result Receiver发送消息通知Activity
  4. 活动:在 onReceiveResult 中接收消息
  5. IntentService : 工作完成40%,通过向Result Receiver发送消息通知Activity
  6. 活动:在 onReceiveResult 中接收消息
  7. 此时,用户转到另一个应用程序。活动首先进入后台分离结果接收器。Android 操作系统也可能因为来电而破坏了这个 Activity
  8. 意向服务:工作完成。尝试通知 Activity 但没有可用的 Result Receiver。保存消息以供以后重新传递到活动。
  9. 此时,用户返回应用程序。Activity 进入前台,附加 Result Receiver 并从 Intent Service 获取待处理消息,通知工作已完成。

所以,我的问题是如何使用 Result Receiver 模式处理 IntentService 到 Activity 的待处理通知?

非常感谢。

4

0 回答 0