4

私の要件は次のとおりです。私のアプリは特定のブロードキャストに登録する必要があります。Activityブロードキャストを受信したときに「表示」されている場合は、UI を更新します。それ以外の場合は、を示しますNotification

Commonsware は、これに対する洗練された解決策を考え出しました。順序付きブロードキャストを使用します。私の問題は、これらすべてをローカルで、つまり自分のプロセス内で実行したいということです。残念ながら、同等のものLocalBroadcastManagerはありません。sendOrderedBroadcast()

  • これはただの見落としLocalBroadcastManagerですか?
  • それとも、ベスト プラクティス (順序付けられたブロードキャストをローカルに送信することは悪い考えであるという趣旨の何か) を指していますか? もしそうなら、なぜですか?
  • それとも、これは不要であり、代替手段で達成できますか?
4

2 に答える 2

0

これは LocalBroadcastManager の単なる見落としですか?

Google のエンジニアリング タイムは無限ではありません。

それとも、ベスト プラクティス (順序付けられたブロードキャストをローカルに送信することは悪い考えであるという趣旨の何か) を指していますか?

疑わしい。

Activity クラスで onUserLeaveHint() および onUserInteraction() コールラックを使用することを検討しましたか?

onUserLeaveHint()ここでは不十分です (たとえば、ユーザーが電話の着信を受け入れる場合はカバーしていません) onUserInteraction()

于 2012-05-15T10:29:03.237 に答える
0

私はLocalBroadcastManager、順序付けられたブロードキャスト機能を使用して独自に実装することになりました。プロジェクトはgithub で共有されています。

当面の目的には役立ちますが、まだ荒削りです。いくつかの機能強化が必要です (たとえば、setResult*およびgetResult*メソッド)。コードの貢献は大歓迎です:)

于 2012-05-28T03:58:04.253 に答える