MIDlet的生命周期完全由驻留在手机上的AMS软件控制。因此,必须从AMS软件请求与MIDlet执行相关的任何工具。对于您正在描述的特定情况,Push Registry支持。
您可以通过指定MIDlet的完全限定类名称和必须再次启动应用程序的时间(以毫秒为单位)来使用registerAlarm。请注意,这是绝对时间。它的工作方式如下:
- 在您的应用程序中,将警报与应用程序需要唤醒的时间一起注册。例如,您希望应用程序在10分钟后启动。然后参数必须是com.yourcompany.app.AppMIdlet,Date()。getTime()+ 600000。
- 现在退出该应用程序。
- 在等待10分钟的时候喝一杯啤酒
- 轰!申请在10分钟后启动。
- 利润!
醇>
注意:这是受保护的API,可能必须对应用程序进行签名才能使用它。大多数手机都会提供安全提示;然而,很少有人没有。这取决于制造商和运营商制定的政策。因此,正确捕获安全异常;否则你会感到困惑的是应用程序无声地失败。
参考文献:
- [推送注册表的注册警报,API规范] [1]
-
A very thorough treatise of Push Registry
[1]:http://download.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/javax/microedition/io/PushRegistry.html#registerAlarm(java.lang.String,long)
醇>