2012-04-14 10 views
0

私の悪い英語を申し訳ありません。JavaのトラブルTimerTask Interval

私はAndroidアプリケーションを作成するときにJava TimerTaskを実装しています。コードは複雑ではありません。間隔に達すると、SMS &メールを送信します。

送信SMS /電子メールの間隔にはいくつかのオプションがあります。 5分、15分、30分、1時間、および2時間。

私は5分、15分(私はミリスに変換しました)、問題は発生しませんでした。それは正確に5分15秒ごとにSMSとEメールを送信します。私はtimertaskを使っても問題はないことを証明します。

しかし、私はそれを30分以上に変更しました。私のアプリケーションは、SMS /電子メールを送信することはできません。タイマーが正しく動作しなかったようです。

タイマータスクの使用には間隔制限がありますか?

これは私のコードスニペットです。

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); 
} 

*注記:milis上notificationInterval(* 60000)

あなたがそれを解決する方法を教えてくださいできますか?ありがとうございました。

+0

いくつかの時間後に殺さTimerTaskを、いくつかのデバイス上で正常に動作しませんが。あなたはAlarmManagerに行くべきです。 – Shehzad

+0

アドバイスをいただきありがとうございます。私はAlarmManagerを試してみる – farissyariati

答えて