バックグラウンドでサービスを実行しようとしています。このサービスは起動時に開始され、その機能は 8 時間ごとに何かを実行することです。この場合、JavaMail API と gmail アカウントを使用してメールでファイルを送信します。これは私のコードです:
private Handler mHandler;
private Runnable updateRunnable = new Runnable() {
@Override public void run() {
new MailSenderActivity.MailSender().execute();
queueRunnable();
}
};
private void queueRunnable() {
mHandler.postDelayed(updateRunnable, 28800000);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
mHandler = new Handler();
queueRunnable();
}
@Override
public void onDestroy() {
//code to execute when the service is shutting down
}
@Override
public void onStart (Intent intent, int startid) {
//code to execute when the service is starting up
}
xxxx
inが 600000 (ミリ秒で 10 分) の場合mHandler,postDelayed(updateRunnable, xxxx)
は完全に実行されますが、28800000 (ミリ秒で 8 時間) の場合は実行されません。
助言がありますか?
前もって感謝します