放送中のAndroidアプリケーションLocalBroadcastManager

我々はAndroidのブロードキャストを使用する場合、通常は一般的に、我々は、単一プロセス内でブロードキャストアプリケーションで使用するためにしている場合はすぐに私たちからの放送を処理することができない場合がありますAMSの忙しい仕事のために、登録のAMSシステムに直接放送されます、プロセスはLocalBroadcastManagerを採用することができます。LocalBroadcastManagerハンドラはメッセージに対処するためのブロードキャスト・メカニズムを使用して、システムへの登録がバインダー機構によって達成され、速度がはるかに高速アプリケーションを放送しています。しかし、マルチスレッド通信にプロセス間のメッセージハンドラ機構のため、したがって時間を通して放送アプリケーションプロセスで使用することができません。

通常の使用の放送と同様に、主に5つのステップで:

//カスタム放送受信機1
BroadcastReceiver {延びLocalReceiverパブリッククラス
公共ボイドonReceive(コンテキスト・コンテキスト、インテントインテント){
...
}
}
LocalReceiver localReceiver新しい新しいLocalReceiverを=();

//登録2.放送
LocalBroadcastManager.getInstance(コンテキスト)
.registerReceiver(localReceiver、IntentFilter新新( "テスト"));
//放送4.送信
LocalBroadcastManager.getInstance(コンテキスト).sendBroadcast(新しいテント ( "テスト"));
// 5.登録解除放送
LocalBroadcastManager.getInstance(コンテキスト).unregisterReceiver(localReceiver) 。

とにLocalBroadcatManagerに放送ラジオ受信機の登録時に登録して、一般的な放送。イベントが呼び出されるとsendBroadcastのLocalBroadcastManagerが発生しました。また、使用していない放送の登録を解除するときことを覚えておいてください。

これは、メインメッセージ処理スレッドで処理されます。

おすすめ

転載: www.cnblogs.com/yxfcnbg/p/11429764.html