私のAndroidアプリケーションでは、ネットワーク関連のインテント(android.net.conn.CONNECTIVITY_CHANGE)をリッスンするブロードキャストレシーバがあります。 ネットワーク接続が変更されると、ブロードキャストレシーバーはインテントを受信し、新しい接続状態をサービスに渡す必要があります。このサービスは、デバイスの接続状態を追跡します。 次へ私は、デバイスとの接続状態を見つけるためにサービスと通信し、接続状態に基づいて何らかのアクションを実行する必要のあるアクティビティを持っています。 サービスを使用するブロードキャスト受信者との通信を処理し、次にサービスのアクティビティを処理する最善の方法は何でしょうか。Androidは、ブロードキャストレシーバとサービスとの通信を行い、アクティビティはサービスと通信します。
0
A
答えて
2
これを実行する方法はたくさんあり、「最良の方法」はありません。それは、これらのコンポーネント間で他にどのような通信が行われているかによって異なります。
Activity
は、Intent
のstartService()
に追加番号を使用してデータをService
に送信できます。
Service
Intent
Service
startActivity()
上に補足を使用して、
Activity
にデータを送信することができる放送
Intent
に補足を使用して、任意のコンポーネントにデータを送信することができます。他のコンポーネント(アクティビティ、ブロードキャストレシーバなど)は、からのデータをリッスンするために
BroadcastReceiver
を登録できます。
Activity
もActivity
とService
用いたメソッド呼び出し(AIDL)との間の2方向通信を可能にするService
に結合することができます。これらのメソッド呼び出しは、同期または非同期にすることができます。
コンポーネントがすべて同じプロセスで実行されている場合は、static
変数に状態を格納し、そのようにデータを共有できます。
アプリケーション全体を見て、コンポーネント間を移動するために必要なデータを確認し、それらの要件を満たすメソッドを選択する必要があります。
関連する問題
- 1. Android:アクティビティとサービスの通信
- 2. サービスとアクティビティ間の高速通信
- 3. 実行中のサービスと通信する
- 4. Windowsサービスの通信とスレッド
- 5. GUIとWindowsサービスの通信
- 6. アスタリスク+ Android、通信サービス
- 7. androidはアクティビティとブロードキャスト受信者の間で通信します
- 8. アンドロイドでのサービスとの通信のベストプラクティス
- 9. Win32サービスとのプロセス間通信
- 10. クライアントwinformとサーバーのWebサービス通信プロジェクト
- 11. WCFサービスとホストアプリケーション間の通信方法
- 12. WebページとWebサービスの通信
- 13. Android AlarmManagerと通信
- 14. Androidのサービス-活動2ウェイ通信
- 15. アクティビティとサービスの通信にgreenrobot EventBusを使用できますか?
- 16. WindowsサービスとWebサービス間のプロセス間通信
- 17. クライアント/サーバ(サービス)C#Windowsサービス用の通信
- 18. アクティビティ間の通信(Android)
- 19. スレッド通信とプロセス通信
- 20. VB6でWCF Windowsサービスと通信しますか?
- 21. ジャージ・リーズナブル・サービス通信(IncompatibleClassChangeError)
- 22. AndroidでのスレッドまたはサービスでのBluetooth通信?
- 23. WCFサービス(wsHttpBinding)と.NET 2.0クライアントとの通信方法
- 24. ServiceControllerクラスを使用してWindowsサービスと通信する
- 25. SERVICE_USER_DEFINED_CONTROLを使用してWindowsサービスと通信する
- 26. フラグメントとアクティビティ間の通信 - ベストプラクティス
- 27. クライアントアプリケーションとWCFサービス間の通信を保護する
- 28. Amazon S3サービスとFlash AS3を使用するドメイン間の通信
- 29. 名前付きパイプとWCFサービスとのプロセス間通信:スレッドの発行
- 30. WCFサービス(クライアント)とWCFアプリケーション(サーバー)間の通信にサービス参照を使用する