1

我正在开发一个 J2ME 应用程序,它应该每小时启动一次。

我正在使用该PushRegistry.registerAlarm方法,并且效果很好。即使我关闭手机,然后打开它仍然可以工作。

问题是:如果手机关机超过一小时,当手机开机时,闹钟的时间已经过去了。并且应用程序没有被通知要启动。

问题:
即使实际时间已经从预定时间过去了,有没有办法让我的 midlet 报警?

4

1 回答 1

1

每当处理手机关机、MIDlet 不运行时必须“记住”某些东西以及其他需要持久性的东西时,首先想到的是MIDP rms

...记录管理系统 API,一种持久存储机制,MIDlet 可以通过它持久存储数据并在以后检索数据。

对于您的情况,它看起来很简单:使用 RMS 来保持下一个预期通知的时间,例如

  1. 在您的 MIDlet 发出的每个通知中,
    将下一个预期时间的当前值替换为下一个通知的值
  2. startApp(或定期通过计时器任务/或通过某个后台线程,无论如何),
    检查 RMS 中的值并找出是否有错过(未删除)的预期事件
于 2012-06-20T15:05:05.367 回答