2010-12-04 39 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,長)