如何停止执行j2me的midlet?

时间:2010-12-04 04:33:09

标签: java-me mobile midlet mobile-application

如何在特定时间内停止执行j2me的midlet?

1 个答案:

答案 0 :(得分:3)

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

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

  1. 在您的应用程序中,将警报与应用程序需要唤醒的时间一起注册。例如,您希望应用程序在10分钟后启动。然后参数必须是com.yourcompany.app.AppMIdlet,Date()。getTime()+ 600000。
  2. 现在退出该应用程序。
  3. 在等待10分钟的时候喝一杯啤酒
  4. 轰!申请在10分钟后启动。
  5. 利润!
  6. 注意:这是受保护的API,可能必须对应用程序进行签名才能使用它。大多数手机都会提供安全提示;然而,很少有人没有。这取决于制造商和运营商制定的政策。因此,正确捕获安全异常;否则你会感到困惑的是应用程序无声地失败。

    参考文献:

    1. [推送注册表的注册警报,API规范] [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,long)