таймер не работает должным образом Android - PullRequest
0 голосов
/ 21 ноября 2011

В моем приложении я использую timer и timerTask для повторного выполнения определенной задачи.таймер используется в сервисе.когда я запускаю таймер, TimerTask не вызывается после некоторой задержки, мой код

`

final Timer timer = new Timer();
 public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);
        Log.i(TAG, "onStart");
        Thread thread = new Thread(this);
        thread.start();
try {
    Thread.sleep(GlobalClass.time);
} catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
@Override
    public void run() {
        Log.i(TAG, "onStart");


        timer.schedule(new TimerTask() {

            @Override
            public void run() {
                Log.i(TAG, "i am in timertask");
                try {
                    setbackground();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            }
        }, GlobalClass.time, GlobalClass.time);
    }

` GlobalClass.time является статической длинной переменной.пожалуйста, помогите мне.

1 Ответ

1 голос
/ 21 ноября 2011

использовать обработчик для повторного вызова функции declear в ocCreate ()

Handler handler = new Handler(); 
handler.postDelayed(checkFunction(),1000);

функция создания зависит от ваших требований

private Runnable checkFunction(){ 
      Timer t = new Timer();
      TimerTask tt = new TimerTask() {            
          public void run() { 
              handler.postDelayed(checkFunction(),1000);
              /// write coding for your requirement here
          }          
      };          
    return tt;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...