监听返回键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