私のアプリでは、MainActivityにハンドラがあります。このハンドラでは、ローカルデータベースからタイムスタンプ値を取得し、その値を現在のタイムスタンプに変更し、ローカルデータベースを更新します。このイベントは2分ごとに発生します。アンドロイドでアプリが殺された場合でも、ハンドラインスタンスが実行可能ファイルを実行する方法は?
私の問題は、私のアプリが殺されたときにローカルデータベースが更新されないようにすることです。しかし、ハンドラ内のコードが実行されても私のアプリケーションは殺され、ローカルデータベースのタイムスタンプ値が更新されます。だから、私は再び私のアプリが殺される前に、データベースに格納されている最後のタイムスタンプの値を私に与えることはありません。
私のアプリを殺すとハンドラを停止するには?ハンドラがどのように正確に動作するかを私に説明する価値があります。
ソースコード:
addEventHandler.postDelayed(new Runnable() {
@Override
public void run() {
mockSpeedEventHandler.postDelayed(this, realTimeEventFrequency * 60 * 1000);
}
}, 60000);
'onStop()'の中にこの 'handler.removeCallbacksAndMessages(null)'を持っていますか? – Raghunandan
addEventHandler.removeCallbacksAndMessages(null);を呼び出して、onDestroy()でaddEventHandlerを停止しました。 – Madhan