Java me 手机关机时按Registry.RegisterArm

Java me 手机关机时按Registry.RegisterArm,java-me,midp,Java Me,Midp,我正在开发一个J2ME应用程序,应该每小时启动一次 我使用的是PushRegistry.registerAlarm方法,它工作正常。即使我关掉手机,打开它也能用 问题是:如果手机保持关机状态超过一个小时,当手机打开时,闹钟的时间已经过去了。并且不会通知应用程序要启动 问题: 有没有办法让我的midlet在实际时间超过预定时间的情况下发出报警呼叫?每当遇到手机关机、midlet无法运行时必须“记忆”某些东西以及其他需要持久性的东西时,首先想到的是 …记录管理系统API,一种持久存储机制,通过它,M

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

我使用的是
PushRegistry.registerAlarm
方法,它工作正常。即使我关掉手机,打开它也能用

问题是:如果手机保持关机状态超过一个小时,当手机打开时,闹钟的时间已经过去了。并且不会通知应用程序要启动

问题:

有没有办法让我的midlet在实际时间超过预定时间的情况下发出报警呼叫?

每当遇到手机关机、midlet无法运行时必须“记忆”某些东西以及其他需要持久性的东西时,首先想到的是

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

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

  • MIDlet每次发出通知时,
    将下一个预期时间的当前值替换为下一个通知的当前值
  • startApp
    (或通过计时器任务/或某些后台线程定期执行),
    检查RMS中的值,并确定是否有遗漏(未删除)的预期事件

  • 无论什么时候,当手机关机时,MIDlet必须“记住”一些不运行的东西,以及其他需要坚持的东西,首先想到的是

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

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

  • MIDlet每次发出通知时,
    将下一个预期时间的当前值替换为下一个通知的当前值
  • startApp
    (或通过计时器任务/或某些后台线程定期执行),
    检查RMS中的值,并确定是否有遗漏(未删除)的预期事件

  • 嗨,小昆虫,谢谢你的回答。我的应用程序上已经有了RMS持久性,我可以在那里存储下一个预期的开始时间。但是,如果手机关机的时间超过registerAlarm()注册的下一次启动时间,则手机开机时应用程序将不会启动。您所说的是检测报警是否未触发,但此检测仅在下一次用户执行应用程序时发生。不会自动检测到。这两个应用程序都不会自动启动,不是吗?@Derzu嗯,这将是一个与您最初的措辞不同/不同的问题(我认为这是一个非常有趣的问题)。MIDP2API(JSR118)不支持autostart,如果有,必须为目标设备使用特定于供应商的东西,或者再次切换到MIDP3,如果目标设备支持iTiGNAT,谢谢您的回答。我的应用程序上已经有了RMS持久性,我可以在那里存储下一个预期的开始时间。但是,如果手机关机的时间超过registerAlarm()注册的下一次启动时间,则手机开机时应用程序将不会启动。您所说的是检测报警是否未触发,但此检测仅在下一次用户执行应用程序时发生。不会自动检测到。这两个应用程序都不会自动启动,不是吗?@Derzu嗯,这将是一个与您最初的措辞不同/不同的问题(我认为这是一个非常有趣的问题)。MIDP2API(JSR118)不支持autostart,如果有,就必须为目标设备使用特定于供应商的东西,如果目标设备支持,也可以切换到MIDP3