Жизненный цикл мидлета полностью контролируется программным обеспечением AMS, установленным на телефоне.Таким образом, любая программа, связанная с выполнением мидлета, должна запрашиваться из программного обеспечения AMS.Для конкретной ситуации, которую вы описываете, поддерживается Push Registry.
Вы можете использовать registerAlarm, указав полное имя имя класса мидлета и время (в миллисекундах), в которое приложениедолжен быть начат снова.Обратите внимание, что это абсолютное время .Это работает следующим образом:
- В вашем приложении зарегистрируйте тревогу со временем, когда приложение должно проснуться.Например, вы хотите, чтобы приложение запускалось через 10 минут.Тогда аргументы должны быть com.yourcompany.app.AppMIdlet, Date (). GetTime () + 600000.
- Теперь выйдите из приложения.
- Выпейте кружку пива, пока вы ждетена 10 минут
- Бум!Приложение запускается через 10 минут.
- Прибыль!
Примечание. Это защищенный API, и вполне возможно, что приложение ДОЛЖНО быть подписано для его использования.Большинство телефонов позволят с подсказкой безопасности;Однако мало кто этого не делает.Это зависит от политики, установленной производителем и оператором.Так что ловите исключения безопасности правильно;в противном случае вы будете озадачены тем, что приложение молча выйдет из строя.
Ссылки:
- [Аварийный сигнал реестра реестра, спецификации API] [1]
Очень подробный трактат 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)