哪个事件告诉您设备已成功启动

时间:2011-11-25 10:48:48

标签: blackberry java-me blackberry-jde

我正在创建一个在手机重启时自动启动的应用程序。我想在手机完成重启时运行一些事件。 UiApp甚至在设备完成重置之前就已运行,因为我将应用程序配置为自动启动应用程序。

我应该听哪个事件,并且在手机完成重启时开始,而不是在两者之间?

由于

1 个答案:

答案 0 :(得分:2)

可以通过使用以下方式了解系统是否处于启动状态:

ApplicationManager.isStartup()

您需要使用计时器轮询它,直到它返回false。但是必须记住,这意味着操作系统已启动,系统能够运行应用程序。这并不意味着您的应用程序运行的整个环境已完全设置。例如(如Michael所述)可能尚未安装microSD卡,可能尚未建立网络连接,或者您的应用程序可能依赖的某些其他服务尚不可用。您可以在开始使用应用程序之前验证它们是否可用。

您需要采取的方法是:

  1. 如果isStartup返回false(系统未处于启动阶段)
  2. ,则进行轮询
  3. 实施FileSystemListener以检查是否已安装microSD卡。
  4. 请注意,microSD卡的安装名称为“SDCard”。

    class FileSystemListenerImpl implements FileSystemListener
     {
          final static String SDCARD_NAME ="SDCard/";
    
    
        public FileSystemListenerImpl(  )
        {
    
        }
    
        public void rootChanged( int state, String rootName )
        {
            if( state ==  FileSystemListener.ROOT_ADDED)
            {
    
                if( SDCARD_NAME.equals(rootName))
                {
                    _isMicroSDReady=true;
                    scheduleApplicationStart();
                    removeFileSystemListener(this);
                }
            }
            else if( state == FileSystemListener.ROOT_REMOVED)
            {
    
            }
        }
    
     }