嗨 stackoverflow 社区。这是我第一次问问题,如果我在这篇文章中有错误,请原谅我
我正在尝试使用本文中解释的结果接收器模式与意图服务通信活动,并在stackoverflow 中讨论。Eveything 在示例应用程序中运行良好,但我不确定当 Activity 进入后台或被 Android OS 杀死时这种模式是否有效。
基本上,我想要实现的是以下应用程序行为:
- Activity:启动 IntentService 做一些工作。传递 ResultReceiver 以接收进度更新
- IntentService:开始工作,获取Activity的ResultReceiver。
- IntentService : 工作完成10%,通过向Result Receiver发送消息通知Activity
- 活动:在 onReceiveResult 中接收消息
- IntentService : 工作完成40%,通过向Result Receiver发送消息通知Activity
- 活动:在 onReceiveResult 中接收消息
- 此时,用户转到另一个应用程序。活动首先进入后台分离结果接收器。Android 操作系统也可能因为来电而破坏了这个 Activity
- 意向服务:工作完成。尝试通知 Activity 但没有可用的 Result Receiver。保存消息以供以后重新传递到活动。
- 此时,用户返回应用程序。Activity 进入前台,附加 Result Receiver 并从 Intent Service 获取待处理消息,通知工作已完成。
所以,我的问题是如何使用 Result Receiver 模式处理 IntentService 到 Activity 的待处理通知?
非常感谢。