JME推送注册表警报

时间:2011-04-09 10:46:18

标签: java-me midp

我的midlet用于注册闹钟但是当我在诺基亚2680s-2上测试时,会发生这种情况;
当我通过按下具有退出命令的软键退出midlet时,midlet不会在所需的时间唤醒,这意味着警报时间未在推送注册表中注册。但是当我通过按下电源关/开键退出midlet时,电话会提示您在接受时是否要让midlet自动启动(SecurityException),注册midlet闹钟时间并自动启动。

我的commandAction侦听器按如下方式处理exit命令:

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);
}

0 个答案:

没有答案