2010-12-04 71 views

回答

3

MIDlet的生命周期完全由驻留在手机上的AMS软件控制。因此,任何与MIDlet执行相关的设施都必须从AMS软件中请求。对于您描述的特定情况,Push Registry支持。

您可以通过指定完全合格的 MIDlet类的名称和应用程序必须再次启动的时间(以毫秒为单位)来使用registerAlarm。请注意,这是绝对时间。它的工作方式如下:

  1. 在您的应用程序中,注册闹钟和应用程序需要唤醒的时间。例如,您希望应用程序在10分钟后启动。然后参数必须是com.yourcompany.app.AppMIdlet,Date()。getTime()+ 600000.
  2. 现在,退出应用程序。
  3. 有一杯啤酒,而你等了10分钟
  4. 热潮!应用程序在10分钟后启动。
  5. 利润!

注意:这是一个受保护的API,应用程序必须签名才能使用它。大部分手机都会提供安全提示;但是很少有没有。这取决于制造商和运营商设定的政策。因此,正确地捕捉安全例外;否则你会困惑的应用程序失败默默。

参考文献:

  1. [按注册处的登记册报警,API SPEC] [1]
  2. 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,长)