Phonegap / JqueryMobile上的Blackberry Hardware Back按钮的行为不一致

时间:2012-02-02 09:29:24

标签: blackberry jquery-mobile cordova

我正在开发一个多页面JqueryMobile(1.0)应用程序并使用Phonegap(1.3)来提供WebView。我已经通过stackoverflow和代码上的web来处理黑莓硬件后退按钮。

我在加载jquerymobile之前设置了mobile.pushStateEnabled = false。 我还使用以下功能

设置了config.xml文件
<feature id="blackberry.system" required="true" version="1.0.0.0" />

我尝试将以下代码放在不同的地方。在标题/正文/所有页面中,但我继续得到不一致的行为。 Phonegap正在初始化,我甚至尝试过将其放入phonegap intiialization之后,但似乎没有任何效果。我甚至试过把它作为一个单独的html文件,所有页面都放在一个文件中(jquery mobile)。该应用程序退出或在某些情况下根本不响应,并且在极少数情况下表现如预期。

<script>
blackberry.system.event.onHardwareKey(blackberry.system.event.KEY_BACK, 
function() { 
    history.back();
    return false;
}); 
</script>

我正在使用Blackberry 9780(OS版本6..0)进行部署,并且还尝试使用最新版本的jquery-mobile(1.01)和phonegap(1.4)。 任何指针将不胜感激。

2 个答案:

答案 0 :(得分:1)

试试这个     

function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}   

// PhoneGap is loaded and it is now safe to make calls PhoneGap methods
//
function onDeviceReady() {
    // Register the event listener

document.addEventListener("backbutton", onBackKeyDown, false);
}


function onBackKeyDown() {

history.back();
return false;
       }
</script>

并且不要忘记在onReady中添加onLoad函数

答案 1 :(得分:0)

我也有同样的问题。有时应用程序只是关闭,有时它可以工作,有时你必须按几次后退按钮。

尝试以下答案之一:http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Back-button-in-BB-OS-5/m-p/1611047