0

我的 phonegap 应用程序中的 Android 后退按钮有问题。

每次我按下它都会关闭整个应用程序。下面是我写的代码。我在这里参考了 2.2.0 的 Phonegap API 文档:http: //docs.phonegap.com/en/2.2.0/cordova_events_events.md.html#backbutton

在 JS 文件中:

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

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

function onBackKeyDown() {      
   alert("back button"); 
}

HTML 文件:

<body onload="onLoad()">

除 android 物理后退按钮外,所有其他功能均正常工作。当我按下返回时,它不会提示我“返回按钮”的警报,但它只是退出整个应用程序。

我做错了什么或者我错过了什么?

谢谢你。

问候,

阿曼达

4

2 回答 2

0

做这个。

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

function onDeviceReady() 
{              
   document.addEventListener("backbutton", function(ev){
        ev.preventDefault();
        ev.stopPropagation(); // ev is event
   }, false);    
}    
于 2013-09-12T10:49:14.223 回答
0

您确定调用了 onDeciveryReady() 吗?尝试添加一个 console.log(""); 并在 logcat 中检查您实际上到达了 onDeviceReady。

用您的示例覆盖后退按钮没有问题。

确保您的 javascript 文件导入正确,并且您使用的是适用于 Android 而不是其他平台的 cordova.js 文件。

作为旁注,如果您打算添加某种“退出确认?”,则覆盖某些按钮(例如后退按钮)可能会让用户感到困惑。应该没问题的对话框,但不建议将其设置为与通常情况完全不同的内容。

于 2013-09-12T09:01:33.790 回答