【问题标题】:How to keep phonegap application open when pressing back button in blackberry在黑莓中按下后退按钮时如何保持phonegap应用程序打开
【发布时间】:2026-02-10 20:15:02
【问题描述】:

我正在为我的黑莓手机构建一个 phonegap 应用程序。当我打开应用程序并按下后退按钮时,应用程序完全终止,而不是仅仅被“最小化”并被允许坐在内存中。所以下次我点击应用程序时,我必须登录而不是看到我所在的最后一页。

有没有办法让黑莓的后退按钮“最小化”而不是完全终止?

【问题讨论】:

    标签: blackberry cordova


    【解决方案1】:

    对于 BlackBerry Java 应用程序,“挂断”按钮是最小化应用程序的标准 UI 请求。先试试那个。如果应用程序不能或不应该完全退出,您应该只覆盖后退按钮的功能以最小化而不是退出。

    应用程序最烦人的行为之一是它们在请求时不退出。

    【讨论】:

      【解决方案2】:

      当有人试图从显示堆栈中弹出屏幕时,Blackberry 的 api 提供了一些 onEvents 实质上是应用程序的后台。我已经有一段时间没有这样做了,但我个人是这样做的。我相信我用过 onObscured.. 参考:http://www.blackberry.com/developers/docs/4.2api/net/rim/device/api/ui/Screen.html#onObscured()

      那里还有其他事件,只是仔细阅读 api,而不是 this.close() 屏幕执行类似 UiApplication.getUiApplication().requestBackground();

      【讨论】:

        【解决方案3】:

        我还有一些观察。后退按钮仅在 6.0 (OS) 手机上退出应用程序。但它不会在 7.0 手机上退出。

        为了避免 6.0 出现问题,您可以使用以下代码覆盖 .js 文件中的后退按钮功能。

        blackberry.system.event.onHardwareKey(blackberry.system.event.KEY_BACK,function() {
           //keep your code here
            alert("back key pressed");
           //For example..
           //if you want to navigate to particular page(say previous.html) on back button,you can use
            window.location.replace("previous.html");
            //you can also use
            history.back(); // To navigate to previous page as per page navigation.        
        return false;
        });
        

        要在 .js 文件中获取此事件,您需要在 config.xml 中添加以下行

        <feature id="blackberry.system.event" required="true" version="1.0.0.0"/>
        

        【讨论】: