1

こんにちは、stackoverflow コミュニティです。初めて質問するので、文章に誤りがありましたらお許しください

この投稿で説明され、ここでスタックオーバーフローで説明されている結果レシーバーパターンを使用して、アクティビティをインテントサービスと通信しようとしています。サンプルアプリではすべて正常に動作していますが、アクティビティがバックグラウンドになったり、Android OS によって強制終了されたりしたときに、このパターンが有効かどうかはわかりません。

基本的に、私が達成したいのは、次のアプリの動作です。

  1. アクティビティ: IntentService を開始して何らかの作業を行います。ResultReceiver を渡して進行状況の更新を受け取ります
  2. IntentService : 動作を開始し、Activity の ResultReceiver を取得します。
  3. IntentService : 作業は 10% で完了し、Result Receiver にメッセージを送信して Activity に通知します
  4. アクティビティ: onReceiveResult でメッセージを受信
  5. IntentService : 作業は 40% で完了し、Result Receiver にメッセージを送信して Activity に通知します
  6. アクティビティ: onReceiveResult でメッセージを受信
  7. この時点で、ユーザーは別のアプリに移動します。アクティビティは、最初に結果レシーバーを切り離してバックグラウンドに移行します。着信呼び出しが原因で、Android OS がこのアクティビティを破棄した可能性もあります
  8. インテント サービス: 作業完了。アクティビティの通知を試みますが、利用可能な結果レシーバーがありません。後でアクティビティに再配信するためにメッセージを保存します。
  9. この時点で、ユーザーはアプリに戻ります。アクティビティはフォアグラウンドに移動し、結果レシーバーをアタッチし、作業が完了したことを通知する保留中のメッセージをインテント サービスから取得します。

それで、私の質問は、結果レシーバーパターンを使用してアクティビティへの IntentService の保留中の通知を処理する方法ですか?

どうもありがとうございました。

4

0 に答える 0