イベントの発生時にアクションをブロードキャストするSDKをコーディングしています。AndroidのSDKデザインでイベントをブロードキャストする
イベントはバックグラウンドサービスでキャプチャされます。
ここには3つのオプションがあります。
- グローバルにインテントをブロードキャストします。
- ローカルでインテントをブロードキャストします。
- 使用setComponent
まず 最初のアプローチの問題は、携帯電話がSDKを持つ2つの以上のアプリを持っている場合、それは突然行動を開始し、問題を引き起こすということです。 オプション1は省略されています。
第2の ローカルブロードキャストは、コードを介して、すなわちアクティビティを使用して登録する必要があります。 この方法の問題は、アプリが強制終了されたか実行されていない場合、私はイベントを受け取ることができなくなるということです。
第3の setComponentで小さなPOCを実行しましたが、ブロードキャストイベントを受信できません。ブロードキャストレシーバは、マニフェストファイルで受信として登録されます。
ボトムラインでは、私のイベントはバックグラウンドサービスから生成され、実行中または一時停止中のアプリケーションに関係なく、これらのイベントをアプリで受け取れるようにする必要があります。
"この方法の問題は、アプリケーションが強制終了されたか実行されていない場合、私はイベントを受け取ることができなくなります" - アプリケーションが強制終了されたか実行されていない場合、イベントはありません。 – CommonsWare
@ CommonSWare、あなたはあなたのアプリを殺すか、アプリが実行されていない場合、あなたのサービスを稼働させることができます。 –
サービスはアプリの一部であるため、サービスを含むアプリが実行されていない場合、サービスは実行されていません。 *アクティビティ*が実行されていないときにサービスが実行されている可能性がありますが、アクティビティ!=アプリケーションです。 – CommonsWare