1

即使我退出我的应用程序并进入主屏幕或浏览其他应用程序,TimerTask 是否工作?我已经阅读了论坛,发现线程的一种简单机制是在 BB 中使用 TimerTask。即使我的应用程序没有启动(第一次之后),我也希望线程始终运行,这样当特定间隔到达时,我可以从应用程序中显示我的对话框。我尝试了以下内容:(我有这段代码,而不是在 MainScreenClass 中,而是首先推送屏幕类)

 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 模拟器。

感谢您的帮助。

4

1 回答 1

3

TimerTask 适用于您的应用程序实际运行时。

查看PushRegistry.registerAlarm()以在间隔后启动您的应用程序。

于 2009-12-06T21:13:07.983 回答