0
對不起,我英語不好。麻煩在Java TimerTask間隔
我在創建Android應用程序時實現Java TimerTask。代碼不復雜。當它達到時間間隔時,它將發送一條SMS &電子郵件。
我有一些選擇發送短信/電子郵件的時間間隔。 5分鐘,15分鐘,30分鐘,1小時和2小時。
我試了5分鐘,15分鐘(我把它轉換成milis),沒有發生任何問題。它每隔5-15分鐘就發送一次短信和電子郵件。我證明我使用timertask沒有問題。
但是,當我將其更改爲30分鐘或更長時間。我的應用程序不能發送短信/電子郵件。它看起來像定時器不能正常工作。
使用Timer任務時是否有任何間隔限制?
這是我的代碼片段。
private void activateNotificationByInterval(int notificationInterval) {
timerNotificationByInterval = new Timer();
timerNotificationByInterval.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
// coba
// if (oldLatitude != childLatitude
// && oldLongitude != childLongitude) {
if ((enableSMS == true)) {
sendSMS();
}
if ((enableEmail == true)) {
GMailSender email = new GMailSender(sender, senderPassword);
try {
email.sendMail(emailSubject + childsName, SMSMessage
+ " " + childlLocation + "\nLatitude: "
+ childLatitude + "\nLongitude: "
+ childLongitude, sender, destination);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
mpv.changeLastLocation(childLatitude, childLongitude);
// buat method untuk menangkap lokasi pertama
oldLatitude = childLatitude;
oldLongitude = childLongitude;
// } else {
// System.out.println("Lokasi Lama Berpengaruh");
// }
}
}, 0, notificationInterval);
}
*注:notificationInterval上milis(* 60000)
,你能告訴我該怎麼解決呢?謝謝。
TimerTask的被殺了一段時間後,不要在某些設備上正常工作。你應該去AlarmManager。 – Shehzad 2012-04-14 20:08:53
感謝您的建議。我會嘗試AlarmManager – farissyariati 2012-04-14 20:22:49