Мой мидлет предназначен для регистрации будильника, но когда я тестирую его на своем Nokia 2680s-2, вот что происходит;
Когда я выхожу из мидлета нажатием программной клавиши с командой выхода, мидлет не просыпаетсяв нужное время, означающее, что время будильника не было зарегистрировано в реестре push-уведомлений.Однако, когда я выхожу из мидлета, нажимая клавишу включения / выключения, телефон запрашивает ответ о том, хотите ли вы, чтобы мидлет автоматически запускался (SecurityException), когда вы принимаете, время будильника регистрируется, и оно запускается автоматически.
Мой слушатель commandAction обрабатывает команду выхода следующим образом:
if (command == myExit)
{
notifyDestroyed();
}
Регистрация тревоги обрабатывается в destroyApp (), как показано ниже:
public void destroyApp(boolean unconditional)
{
notifyDestroyed();
try
{
setMidletWakeupTime(someTimeValueAsLong);
}
catch(ClassNotFoundException cnfe)
{
}
catch(ConnectionNotFoundException cnfe)
{
}
catch(SecurityException se)
{
}
}
Код функции setMidletWakeupTime:следующим образом:
public void setMidletWakeupTime(long wakeupTime)
throws ClassNotFoundException, ConnectionNotFoundException,
SecurityException
{
String className = this.getClass().getName();
PushRegistry.registerAlarm(className, wakeupTime);
}