BlackBerry - TimerTask работает в фоновом режиме? - PullRequest
1 голос
/ 06 декабря 2009

Работает ли TimerTask, даже если я выйду из приложения и зайду на домашний экран или исследую другие приложения? Я прочитал форум и выяснил, что такой простой механизм заключается в использовании TimerTask в BB. Я хочу, чтобы поток выполнялся всегда, даже если мое приложение не запущено (после первого раза), чтобы при наступлении определенного интервала я мог показать свой диалог из приложения. Я попробовал следующее: (у меня есть этот код, а не в MainScreenClass вместо первого класса экрана push)

 try {
  timer = new Timer();
  // start after 1 second, repeat every 5 second
  // timer.schedule(new ClickTask(), 0, 5000); // seconds*1000
  timer.scheduleAtFixedRate(new ClickTask(), 0, 5000);
 } catch (Exception e) {
  // do nothing
 }

 private class ClickTask extends TimerTask {
  public void run() {
   System.out.println("Test Printing..");
   // Screen screen = new Dialog(Dialog.D_OK, 
   // "Look out!!!", Dialog.OK,
   // Bitmap.getPredefinedBitmap(Bitmap.EXCLAMATION),
   // Manager.VERTICAL_SCROLL);
  }
 }

Но таймер запускается только при запуске моего приложения. Если я выйду из своего приложения и зайду на главный экран устройства, похоже, что журнал не печатает (т.е. таймер не работает). Правильный ли мой код? Это способ запустить таймер в фоновом режиме как поток? Примечание: я тестирую на симуляторе 9530 для этого.

Спасибо за помощь.

1 Ответ

3 голосов
/ 07 декабря 2009

TimerTask для того, когда ваше приложение фактически работает.

Посмотрите на PushRegistry.registerAlarm () для запуска приложения через определенный промежуток времени.

...