私のプロジェクトではBroadcastReceiver、長時間実行されているスレッドからのコールバックとしてsを使用しています(たとえば、ダウンロードが終了したことをアクティビティに通知し、アクティビティThreadがユーザーに適切なメッセージを表示できるように、ワーカーから応答データを送信します)。を使用するBroadcastReceiverには、ブロードキャストレシーバーを使用するたびに登録と登録解除を慎重に行う必要があります。また、特にこのメソッドをさまざまなアクション(ダウンロード、Webサービス呼び出しの作成など)に使用する場合は、送信するメッセージにも注意する必要があります。 ..)。また、Broadcastのインテントを介してカスタムオブジェクトを送信するには、オブジェクトを作成する必要もありますParcelable。
このアプローチとは異なり、私が使用するメソッドよりも単純に見えるコールバックメソッドアプローチも見ました。コールバックメソッドは、アプリメッセージングのBroadcastRecaiverと同じ効果を達成するために使用できる単純なインターフェイスメソッドの実装です。このアプローチでは、複雑なオブジェクトを返すためにParcelableの実装は必要なく、..のようなキーも使用しませんBroadcastReceiver。悪い部分は、コールバックメソッドを呼び出す前にコールバックオブジェクトのnull値を確認する必要があることです。また、UIスレッドの実装からコードを実行していることを確認して、エラーなしでUIを更新できるようにします。
わかりました、私が言うことをあなたが理解したことを願っています:)。
BroadcastReceiverここで問題となるのは、単一のアプリケーション内で使用する場合のアプローチよりも、コールバックメソッドの方が優れている(より軽く、よりクリーンで、より高速である)と思いますか?Service(私はバックグラウンド作業にAndroidを使用していないことに注意してAsyncTaskくださいThread。
ありがとうございました!