我尝试了很多解决方案,但我似乎无法捕获Android的“后退”事件。我想要做的就是阻止后退按钮关闭应用程序。
对于上下文,我正在使用Onsen UI库(以核心使用AngularJS)构建HTML5跨平台应用程序。我正在使用PhoneGap Build来创建iOS和Android版本。我正在测试三星Galaxy S4。
这是我目前的尝试(这不起作用):
PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs /usr/local/bin/casperjs --cookie-file=$(pwd)/tv-cookies.txt --ssl-protocol=any --ignore-ssl-errors=true $(pwd)/capture.js
我错过了什么?
答案 0 :(得分:0)
我认为你不需要像对待你那样对待事件,我使用的是这样的东西:
onBackButton: function() {
console.log('User pressed back button.');
if (<logic to determine if app is at its home screen>) {
// Go to launcher
navigator.app.exitApp();
} else {
// Logic to determine what view is the "back" view
}
}
您也在收到“deviceready”事件后注册“backbutton”事件监听器。我在“deviceready”回调函数中注册我的:
onDeviceReady: function() {
document.addEventListener('pause', app.onDevicePause, false);
document.addEventListener('resume', app.onDeviceResume, false);
document.addEventListener('offline', app.onOffline, false);
document.addEventListener('online', app.onOnline, false);
if (device.platform === 'Android') {
document.addEventListener('backbutton', app.onBackButton, false);
document.addEventListener('menubutton', app.onMenuButton, false);
document.addEventListener('searchbutton', app.onSearchButton, false);
}
...
}
答案 1 :(得分:0)
这项工作对我来说:
HTML:
<ons-navigator>
<ons-page var="mypage">
...
</ons-page>
</ons-navigator>
JAVASCRIPT:
ons.ready(function () {
mypage.setDeviceBackButtonHandler(function () {
doSomething();
});
});