我正在设置Android设备按钮以使用我的应用。根据PG / Cordova文档,我应该能够添加一个监听器,如
document.addEventListener("backbutton", function() {
console.log('Back Button Pressed.');
}, false);
然而,当使用我的Nexus 7作为测试设备时,没有任何反应。
我也尝试将覆盖直接添加到Java中:
@Override
public void onBackPressed() {
super.loadUrl("javascript:onBackKeyDown()");
return;
}
但再一次,似乎什么都不做。是否有其他人遇到此问题或已修复?
谢谢。
答案 0 :(得分:1)
首先,你的函数写入控制台。
document.addEventListener("backbutton", function() {
console.log('Back Button Pressed.');
}, false);
您应该将您的设备设置为调试工具(您可以在下面快速提示如何操作,有关详细信息,请转到here)
现在返回按钮单击“按下后退按钮”。将在Eclipse的控制台中打印。
如果您的设备未连接到计算机,或者您的设备未设置为调试工具,则不会发生任何变化。
一般情况下如果您在设备上进行测试而不将其设置为调试工具,请使用“alert()”代替“console.log()”。
此外,不要使用原生java,使用原始documentation of Cordova,只需将以下代码添加到您的javascript文件中:
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// Cordova is loaded and it is now safe to call Cordova methods
//
function onDeviceReady() {
// Register the event listener
document.addEventListener("backbutton", onBackKeyDown, false);
}
// Handle the back button
//
function onBackKeyDown() {
// whatever you want to do
alert('Back button Pressed');
}
然后你应该在body标签上添加“onLoad()”:
<body onLoad="onLoad()">