黑莓中的后退按钮处理

use*_*202 2 blackberry

我想点击黑莓手机应用程序中的后退按钮进入主屏幕.我在google和stackoverflow中搜索过这个,但我没有得到任何解决方案.有人为此提供帮助.

在我的起始屏幕中,我写这样的后退按钮.

protected boolean keyDown(int keycode, int time)
    {
        if (Keypad.key(keycode) ==  Keypad.KEY_ESCAPE)
        {
            close();
            return true;
        }

        else
        {
            return super.keyDown(keycode, time);
        } 
    }
Run Code Online (Sandbox Code Playgroud)

在我的HomeScreen中我写的是这样的.

protected boolean keyDown(int keycode, int time)
    {
        if (Keypad.key(keycode) ==  Keypad.KEY_ESCAPE)
        {
            UiApplication.getUiApplication().pushScreen(new StartingScreen());
            return true;
        }

        else
        {
            return super.keyDown(keycode, time);
        } 
    }
Run Code Online (Sandbox Code Playgroud)

从我的应用程序HomeScreen我能够来到我的应用程序的起始屏幕.之后,当我从开始屏幕点击后退按钮时,我需要去黑莓主屏幕,这意味着我需要退出应用程序并从中走出来.我写了close(); 来到黑莓主屏幕.但它不起作用.它再次进入我的应用程序主屏幕.

Nil*_*hal 5

覆盖MainScreen子类中的keyDown方法.

protected boolean keyDown(int keycode, int time) {  
    int key = Keypad.key(keycode);
        if(key==Characters.ESCAPE){
            // do something here
            return true;
        }       
        return super.keyDown(keycode, time);
    }
Run Code Online (Sandbox Code Playgroud)

来到主屏幕

while(!(UiApplication.getUiApplication().getActiveScreen() instanceof HomeScreen)){
                UiApplication.getUiApplication().popScreen(UiApplication.getUiApplication().getActiveScreen());
}
Run Code Online (Sandbox Code Playgroud)