0
私のサービスを聞いていません。私がコードをonCreate
またはonResume
に置くと、それは起動しません。ただし、たとえば入力した場合はトリガーします。 Listener
にButton
、またはアクティビティのonStop
コールバックに関連付けられています。何故ですか?サービスは、特定の放送を
私のサービスを聞いていません。私がコードをonCreate
またはonResume
に置くと、それは起動しません。ただし、たとえば入力した場合はトリガーします。 Listener
にButton
、またはアクティビティのonStop
コールバックに関連付けられています。何故ですか?サービスは、特定の放送を
すぐにブロードキャストを送信するのではなく、onCreate()
またはonStartCommand()
メソッドでサービスを設定してください。
あなたのサービスがあなたのUIとは別のプロセスにない限り、このためにシステムブロードキャストを使用することはかなり悪い考えです。それでも、あなたはセキュリティを考える必要があります。どのアプリもあなたのサービスに何をすべきかを伝えるには、ブロードキャストを送信する必要があります。
サービスとUIが同じプロセスにある場合は、改善されたセキュリティだけでなく、パフォーマンス向上のためにインプロセスイベントバス(例:LocalBroadcastManager
、greenrobotのEventBus)を使用してください。
'onCreate()'、 'onStart()'、 'onResume()'が呼び出されるまでにあなたのサービスはまだ実行されていません。 – CommonsWare
と私はそれが実行されていることを確認することができますか?私はサービスを開始するコードで自分の答えを編集しました –
もっと簡単な解決法は、すぐに放送を送信しようとしないことです。あなたはそれをする必要はありません。すぐに何かをするサービスが必要な場合は、 'onStartCommand()'でそれを行うようにしてください。それを受けた – CommonsWare