私は非常に短い間隔で20〜30秒でいくつかのタスクを実行しなければならないアンドロイドアプリケーションを持っています。それは何らかの形で「監視」アプリであり、商用目的ではないため、バッテリーやデータの使用について心配する必要はありません。アプリケーションクラッシュ時にTimerTaskをキャンセルする
私はこのようなjava.util.Timer
を使用してタスクをスケジュールしています:
mTimer.scheduleAtFixedRate(mUpdateDataTask,0,20000);
私が使用して実行されたタスクを停止する方法を知っている:
mTimer.cancel();
と私のService
が停止しているとき、私はこれをやっています。
問題: いくつかの点で私のアプリがクラッシュした場合は、Service
のonDestroy()
メソッドが呼び出されていないとmTimer
はキャンセルされることは決してありませんし、それらのタスクが実行され得続けます。アプリケーションがクラッシュしたり、設定 - >アプリケーションから強制停止されたときに、それらがキャンセルされることをどうやって確認できますか?