私は今私のアプリケーションでインテントサービスを使って放送受信機を使用していることを知りたいと思います。 1)私は放送受信機からデータを運びたくありません。私は別々にデータを運びたい。 私はアンドロイドで放送受信機を改善するためのアドバイスがあります。Androidブロードキャスト受信機とデータを分離する
答えて
コールバックを取得するためにBroadcastReceiver
を使用しないようにしたいとしますが、その理由は言いません。いくつかの選択肢があります:
LocalBroadcastManager
(あなたがまだいない場合)を使用できます。これにより、データがアプリケーションからブロードキャストされないことが保証されます(セキュリティおよびオーバーヘッドの問題)。これは通常のsendBroadcast()
コールを使用するよりもやや軽量(パフォーマンスが向上)です。
IntentService
からService
に切り替えることができます。 Activity
からService
までのAIDLを使用して同期コールを定義できます。 Activity
はService
にバインドし、メソッド呼び出しの結果としてデータを返すService
のメソッドを呼び出します。この場合、BroadcastReceiver
の必要はありません。
あなたは(あなたのActivity
のonCreate()
にthis
への参照を設定する)あなたのActivity
への参照を保持しているpublic static
変数をカンニングして使用することができます。 Service
がActivity
にデータを送信したい場合は、Activity
への参照を使用し、その上の任意のメソッドを呼び出してデータを戻すことができます。この場合、BroadcastReceiver
の必要はありません。これはハックです。これを使用する場合は、public static
変数を確認してから、null
が使用されていないことを確認してください。また、ガベージコレクタはActivity
の終了時にActivity
のインスタンスを取り戻すことができないため、メモリリークが発生しますが、Androidは最終的にアプリケーションをホストするOSプロセスを終了させるため大したことではありません。私はそれについて心配しません。
- 1. AndroidとiPhoneのブロードキャスト受信機/サービス
- 2. ブロードキャスト受信機を使用してAndroidサービスを開始する
- 3. 複数のプロキシミティアラートをブロードキャスト受信機で設定するandroid
- 4. Androidのブロードキャスト受信機に余分な意図を渡します
- 5. 暗示的なブロードキャスト受信機とマニフェストの明示的なブロードキャスト受信機を区別する
- 6. Androidブロードキャスト受信者以外のメッセージを受信する
- 7. Androidブロードキャスト受信機が機能していませんか?
- 8. AngularJSの隔離されたスコープ/ディレクティブからのブロードキャストとコールコントローラ機能の受信?
- 9. androidはアクティビティとブロードキャスト受信者の間で通信します
- 10. Android:アラームマネージャ用のブロードキャスト受信機が動作しない
- 11. Android:ブロードキャスト受信機での電話状態
- 12. ブロードキャスト受信機内部のアクティビティ
- 13. SMSブロードキャスト受信機の問題
- 14. ブロードキャスト受信者とphonestatelistener
- 15. android - SMS受信ブロードキャスト受信者が中止されました
- 16. ブロードキャスト受信機を使用しているときのエラー
- 17. アラーム受信機とAndroidマニフェスト
- 18. ブロードキャスト送信者と受信者のペア
- 19. Androidのブロードキャスト受信機の呼び出しでタイムゾーンを受信する方法は?
- 20. ブロードキャスト受信者からデータを取得する単一の機能
- 21. 簡単なBluetoothデータ受信機Android
- 22. サービス内のAndroidブロードキャスト受信者はブロードキャストを送信するときにnullポインタ例外を指定します
- 23. SMS受信用のブロードキャスト受信機は、Androidの不在着信時に呼び出されています
- 24. ブロードキャスト受信機を起動するには?
- 25. ブロードキャスト受信機から番号を取得するには?
- 26. ブロードキャスト受信機がインターネット接続を確認する
- 27. アプリケーションコンテキスト経由でブロードキャスト受信機を登録する
- 28. Androidのブロードキャスト受信機はバッテリの寿命を消費しますか?
- 29. マルチホームシステムでUDPブロードキャストを受信
- 30. Android:ブロードキャスト受信者がjava.lang.RuntimeExceptionをスローする
あなたが質問を言い換えるてくださいすることができ、それは –
はあなたのコードをポストに理解することは非常に難しいです、私のコードで – Vyacheslav
@TimCastelijns、 1)MainActivityコールIntentServiceデータベースからデータを取得し、活動にこの データをブロードキャストしてくださいています。 MainActivityのブロードキャスト受信者がこのデータを受信し、このデータを表示します。 –