私は現在、最初の Android アプリケーションを開発しています。アプリケーションのユーザーが「データの自動更新」を有効にできるようにしたいと考えています。これは、一部のデータを x 分ごとに更新する必要があることを意味します。によって開始されるサービスを作成しました
service = new Intent(context, MyService.class);
context.startService(service);
サービス内で TimerTask を使用して定期的にデータを更新しています。
timer = new Timer();
TimerTask tt = new TimerTask() {
public void run() {
refreshData();
}
};
timer.scheduleAtFixedRate(tt,0,interval);
サービスを時々再起動できることに気付きました。refreshData(); であることを確認するにはどうすればよいですか。間隔分ごとに実行されますか (多かれ少なかれ)? ユーザーが間隔 (設定) を変更した場合、現在のタイマー (タスク) を強制終了して新しいタイマーを開始するにはどうすればよいですか? 現在、新しいものを開始しているように見えますが、古いものを強制終了せず、refreshData() を 2 つの間隔に従って実行します。
どんな助けでも大歓迎です!