BlackBerry - 无法前进正在运行的应用程序

时间:2011-12-16 16:13:20

标签: blackberry blackberry-jde

我有一个UI应用程序设置为在启动时自动运行,这会产生一些线程在后台执行某些工作。它有一个屏幕,显示有关后台线程正在进行的工作的信息。

class AppName extends UiApplication implements SystemListener2 {
    private static AppName app;

    public static void main(String[] args) {
        app = new AppName();

        if (ApplicationManager.getApplicationManager().inStartup()) {
            app.addSystemListener(app);
        } else {
            app.initializeLater();
        }
        app.enterEventDispatcher();
    }

    public AppName() {
        pushScreen(new InfoScreen());
        requestBackground();
    }

    private void initialize() {
        // Spawns some threads doing work in the background
    }

    private void initializeLater() {
        invokeLater(new Runnable() {
            public void run() {
                initialize();
            }
        });
    }

    public void powerUp() {
        removeSystemListener(this);
        initialize();
    }
}

当我在模拟器中运行应用程序时,它工作正常。在启动时一切都运行,然后当我点击图标时,屏幕被预先显示并显示。这是模拟器的输出:

3:20:26.612: AM: Starting AppName
3:20:26.612: AM: AppName already running
3:20:26.612: AM: Foreground is requested: AppName(304)
3:20:26.628: AM: Foreground is set: AppName(304)

但是,在设备上屏幕永远不会显示。这是设备调试器输出:

[0.0] Starting AppName
[0.0] AppName already running

正如您所见,前台请求永远不会发生。我通过重写UiApplication.activate()方法并输入一个System.out消息来确认它是否被调用但是没有被调用。

有谁知道为什么会这样?

0 个答案:

没有答案