监听返回键1(推荐使用)
场景1:在应用首页监听,需要在config.xml中手动添加配置参数<openKeyBackListener>true</openKeyBackListener>
参见【Summer开发指导】—>【config.xml配置文件】—>【手动配置编辑配置】
然后在首页中定义keyBack函数,用于执行监听到返回键后的相关操作。(注意:该函数需用户自己定义,函数名必须为keyBack,且必须定义成全局函数,不能定义在summerready中)。
实例1
//在首页中定义全局的keyBack函数
var turn = 0;
function keyBack(){
turn++;
if(turn==2){
clearInterval(intervalID);
summer.exitApp()
}else{
summer.toast({"msg":"再点击一次退出!"});
}
var intervalID = setInterval(function() {
clearInterval(intervalID);
turn=0;
}, 3000);
}
场景2:在打开的新窗口中监听
在summer.openWin api中设置addBackListener的值为”true”用来监听所打开页面的返回键,这样就会去调用所打开页面的keyBack函数(注意:该函数需用户自己定义,函数名必须为keyBack,且必须定义成全局函数,不能定义在summerready中),如果需要关闭页面,可在keyBack函数中调用summer.closeWin()。
实例1
//在当前index页面中去打开main页面,则需要在main页面中定义keyBack方法
summer.openWin({
id:"main",
url:"htmlmain.html",
"addBackListener":"true"
});
//在main页面中定义全局的keyBack函数
function keyBack(){
summer.closeWin();
}
实例2
//打开主页面
summer.openWin({
id:"main",
url:"htmlmain.html",
"addBackListener":"true"
});
//在全局的keyBack函数中判断是否连续两次点击返回键,
var turn = 0;
function keyBack(){
turn++;
if(turn==2){
clearInterval(intervalID);
summer.exitApp()
}else{
summer.toast({"msg":"再点击一次退出!"});
}
var intervalID = setInterval(function() {
clearInterval(intervalID);
turn=0;
}, 3000);
}
监听返回键2
document.addEventListener("backbutton", onBackKeyDown, false); //监听返回键
function onBackKeyDown(){
if(confirm("再点击一次退出!")){
summer.exitApp()
};
document.removeEventListener("backbutton", onBackKeyDown, false); //注销返回键
var intervalID = setInterval(function() {
clearInterval(intervalID);
document.addEventListener("backbutton", onBackKeyDown, false); // 监听返回键
}, 3000);
};
解释:
1、首先添加监听安卓返回键事件。
2、执行回调函数中,如果点击确认键,直接退出应用。
3、注销监听安卓返回键事件,这样就恢复了安卓返回键自身的功能。
4、设置定时器,每3秒钟添加监听安卓返回键事件。
监听返回键3
document.addEventListener("backbutton", onBackKeyDown, false); //监听返回键
var turn = 0;
function onBackKeyDown(){
turn++;
if(turn==2){
clearInterval(intervalID);
summer.exitApp()
}else{
summer.toast({"msg":"再点击一次退出!"});
}
var intervalID = setInterval(function() {
clearInterval(intervalID);
turn=0;
}, 3000);
};
解释:
1、首先添加监听安卓返回键事件。
2、定义个计数变量。
3、每次点击,计数变量加一,等于二的时候退出应用,其他情况弹出提示框。
4、设置定时器,每3秒钟让数字变量清零。
用例github下载地址
文档更新时间: 2018-06-06 13:54