3

インターネットからいくつかのデータをダウンロードし、定期的に進行状況をインジケーター アクティビティに送信するサービスがあります。処理の最後にサービスが結果を送信します。

コミュニケーションの持続性を達成するための最良の方法は何かという質問があります。

  • Messenger または ResultReceiver を Intent に分割し、リスナーのリストをサービスに格納する必要があります。しかし、構成を変更するとアクティビティが破壊され、このリストを維持するのは困難です。

  • LocalBroadcastManager、メッセージからインテントに移行する必要があり、このクラスにはスティッキー送信もありません。したがって、進行中のアクティビティがバックグラウンドで実行されている間に結果を取得すると、結果は失われます。

  • BroadcastManager は優れていますが、進行状況をシステム全体にブロードキャストする必要はなく、セキュリティの問題もあります。

何か案は?

4

4 に答える 4

0

ブロードキャスト レシーバーよりも安全で安価な方法であるため、ダウンロードの進行状況を送信するには、massengerを使用する必要があります。

于 2013-10-28T10:21:08.717 に答える
0

Application クラス内で静的変数を使用します (Application を拡張します)。Service 内でこの変数を設定します。アクティビティ内で、この変数を定期的に読み取ります。

于 2013-10-24T11:58:57.540 に答える