我是开发sencha touch应用程序的新手。我正在为Android转换此应用程序。我试图在我的应用程序中使用Android设备的后退按钮,但我无法得到正确的结果。以下是app.js文件的相关部分。
launch:function(){
Ext.fly('appLoadingIndicator').destroy();
Ext.Viewport.add(Ext.create('Myapp.view.Main'));
document.addEventListener("backbutton", function(e) {
e.preventDefault();
alert('the back key is pressed');
}, false);
},
以上代码仅用于检查是否调用了按下Android设备后退按钮的回调。但不幸的是,我看不到警报信息 我可以对上面的代码有什么改进吗?
答案 0 :(得分:0)
您必须使用带有sencha的phonegap,然后才能收听按钮。查看此网站http://docs.phonegap.com/en/3.3.0/cordova_events_events.md.html#backbutton
答案 1 :(得分:0)
我不明白使用Ext.bind
来实现这一目的的目的。
将您的代码更改为:
launch:function(){
Ext.fly('appLoadingIndicator').destroy();
Ext.Viewport.add(Ext.create('Myapp.view.Main'));
document.addEventListener("backbutton", Myapp.app.backKeyDown, false);
alert("after eventlistener");
},
backKeyDown: function(e){
e.preventDefault();
alert('the back key is pressed');
},
它应该有用。
[编辑]:
既然你说它仍然没有用,我的猜测是你的回调可能会出现范围问题:
尝试:
document.addEventListener("backbutton", function(e) {
e.preventDefault();
alert('the back key is pressed');
}, false);
答案 2 :(得分:0)
您可以使用cordova实现android的后退按钮功能。 在index.html中编写以下代码:
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
alert("In device");
document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() {
alert("hello");
}
</script>