サービスのコンテキストでブロードキャスト受信を取得する方法はありますか? マニフェストファイルにreceiver
インテントフィルタを追加しようとしましたが、もちろんAndroidは毎回そのサービスをインスタンス化しようとし、例外がスローされます。サービス中のブロードキャストの受信
どうすればいいですか?
は(私はAndroid上で完全なのnoob午前言及したのか?)サービスのコンテキストでブロードキャスト受信を取得する方法はありますか? マニフェストファイルにreceiver
インテントフィルタを追加しようとしましたが、もちろんAndroidは毎回そのサービスをインスタンス化しようとし、例外がスローされます。サービス中のブロードキャストの受信
どうすればいいですか?
は(私はAndroid上で完全なのnoob午前言及したのか?)サービスコンテキストで放送受信を取得する方法はありますか?
直接ではありません。 Service
はregisterReceiver()
を介してBroadcastReceiver
を動的に登録することができます。または、startService()
を介してマニフェストに登録されたBroadcastReceiver
をService
に「転送」することができます。
Androidは、登録されている特定のインテントを処理するサービスをインスタンス化します。サービスが実行されている場合、現在の操作が完了するとすぐに処理のためにインテントがエンキューされます。ブロードキャストを視聴するには、BroadcastReceiverを登録し、あなたのサービスに表示されているものを転送します。
サービスが例外をスローしている場合は、何か問題があります。アプリの例外の完全なスタックトレースを投稿します。これは、adbとlogcatをhereとして、またはEclipseのlogcatビューで見ることができます。
素晴らしい!私は欠けている部分を見つけ出す。正しい方向に私を指してくれてありがとう! – jldupont
こんにちはCommonsWareとjldupont、サービスクラスとマニフェストファイルの変更を追加するためのコードスニペットを教えてください。私はそれを解決することができません。私は私のサービスクラスに新しいメンバーBroadcastReceiverクラスを作成し、次にCONNECTIVITY_ACTIONのインテントフィルターを使ってブロードキャストレシーバーインスタンス化オブジェクトを登録しました。次に、 " のような新しいレシーバでマニフェストファイルを更新しました。 /インテントフィルター> "となります。 –