BlackBerry App:屏幕在自动运行模式下不显示

Mud*_*sir 6 blackberry java-me blackberry-jde

我正在尝试创建一个将在系统启动时运行的后台应用程序.当我手动(从功能区)运行它时,屏幕出现,但是当我将应用程序设置为启动应用程序(在描述符中自动运行启动选项)后,屏幕上不会显示任何内容.我正在尝试以下代码;

public class AppClass extends UiApplication {

    public static void main(String[] args) {
        AppClass theApp = new AppClass();
        theApp.enterEventDispatcher();
    }

    public AppClass() {
        pushScreen(new AppScreen());
    }
}
Run Code Online (Sandbox Code Playgroud)

这是屏幕类;

public final class AppScreen extends MainScreen {

    private LabelField  label;

    public AppScreen() {
        setTitle("AppTitle");

        label = new LabelField();
        label.setText("Ready.");

        add(label);
    }
}
Run Code Online (Sandbox Code Playgroud)

我期待它是一个UI应用程序,所以无论是在启动时自动运行还是手动运行,它的屏幕都应该是可见的.如果我需要做一些让它按预期工作的东西,请指导我,我是BlackBerry开发的新手.我正在以下环境中发展;

  • BlackBerry JDE Eclipse Plugin 1.5.0
  • BlackBerry OS 4.5

Ric*_*ard 5

在OS完成引导之前运行自动启动应用程序,因此不支持用户界面.我怀疑你的应用程序正在启动,但在某些UI调用上失败了.编写一个自动运行并从主屏幕运行的应用程序的文档记录方法是为自动运行提供一个交替的入口点,其参数告诉程序它已自动运行.然后使用API​​等待操作系统为UI应用程序做好准备.

public class AppClass extends UiApplication {
    public static void main(String[] args) {

        if (args.length > 0 && args[0].equals("auto-run")) {
            // auto start, wait for OS
            while (ApplicationManager.getApplicationManager().inStartup()) {
               Thread.sleep(10000);
            }

            /*
            ** Do auto-run UI stuff here
            */
        } else {
            AppClass theApp = new AppClass();
            theApp.enterEventDispatcher();
        }
    }

    public AppClass() {
        pushScreen(new AppScreen());
    }
}
Run Code Online (Sandbox Code Playgroud)