Android uygulamasında periyodik bir görev yürütmem gerekiyor. Bu tam olarak neye ihtiyacım yok, ama bir sorun varAndroid sistem saatini değiştirmek zamanlayıcıları durdurur. Onları nasıl yeniden başlatabilirim?
final Handler guiHandler = new Handler();
// the task to run
final Runnable myRunnable = new Runnable() {
@Override
public void run() {
doMyStuff();
}
};
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
guiHandler.post(myRunnable);
}
}, 0, 30000); // run every 30 seconds
: Ben emülatörü veya telefonda saatini değiştirmek durumunda, zamanlayıcı çalışmasını durdurur Şu anda böyle bir zamanlayıcı kullanın. Bu Zamanım değiştirdiğinizde günlüğünde görünür budur: zamanlayıcı yaklaşık
D/SystemClock( 331): Setting time of day to sec=1278920137
W/SystemClock( 331): Unable to set rtc to 1278920137: Invalid argument
Hiçbir şey kesintiye uğramasına, ancak sistem saati değişti sonra açıkça artık çalışmaz. Uygulama çalışırken her zaman çalışmaya devam etmek için göreve ihtiyacım var.
Böyle durduğunda zamanlayıcıyı nasıl yeniden başlatabilirim? Şu anda çalışıp çalışmadığını kontrol etmek için Timer veya TimerTask'ta herhangi bir yöntem yoktur, bu yüzden ne zaman yeniden programlayacağınızı bilmiyorum. Herhangi bir fikir?
Bu, aradığım harika bir çözüm! Teşekkürler – JosephT