イベントを受信し、そのようなイベントが受信されたときにアプリケーション データベースといくつかの UI 要素を更新するリスナーを実装する必要がある Android アプリケーションに取り組んでいます。リスナーは、アプリケーションの実行中ずっと実行する必要があります。
これを最良の方法で実装する方法について何か提案をいただけますか? いくつかのベストプラクティス?
PS : このイベント リスナーをサービスに統合することを考えていました。どう思いますか ?
BroadcastReceiver から拡張されたクラスを使用する必要があります。アプリケーション データベースを更新する onReceive メソッドをオーバーライドします。
次に、AlarmManager クラスを使用してイベントをスケジュールする必要があります。それらをスケジュールする方法は 3 つあります。set メソッドを使用した 1 回限りのイベント、setRepeating メソッドを使用した繰り返しイベント、および setInexactRepeating です。
ここに良いチュートリアルがあります:このリンクを参照してください
このアプローチを使用すると、アプリケーションが実行されていないときでもリスナーが実行され、モバイルがスタンバイ モードであってもイベントを受信できます。これは、サービスではできないことです。
AlarmManager を使用してモバイルを起動するには、次の行 ( の前<application>
)をマニフェスト ファイルに追加することを忘れないでください。
<uses-permission android:name="android.permission.WAKE_LOCK"/>
お役に立てれば。