监听返回键1(推荐使用)

场景1:在应用首页监听,需要在config.xml中手动添加配置参数,并把值设置为true。即:
<openKeyBackListener>true</openKeyBackListener>
参见【Summer开发指导】—>【config.xml配置文件】—>【手动配置编辑配置】
然后在首页中定义keyBack函数,用于执行监听到返回键后的相关操作。(注意:该函数需用户自己定义,函数名必须为keyBack,且必须定义成全局函数,不能定义在summerready中)。
实例1

  1. //在首页中定义全局的keyBack函数
  2. var turn = 0;
  3. function keyBack(){
  4. turn++;
  5. if(turn==2){
  6. clearInterval(intervalID);
  7. summer.exitApp()
  8. }else{
  9. summer.toast({"msg":"再点击一次退出!"});
  10. }
  11. var intervalID = setInterval(function() {
  12. clearInterval(intervalID);
  13. turn=0;
  14. }, 3000);
  15. }

场景2:在打开的新窗口中监听
在summer.openWin api中设置addBackListener的值为”true”用来监听所打开页面的返回键,这样就会去调用所打开页面的keyBack函数(注意:该函数需用户自己定义,函数名必须为keyBack,且必须定义成全局函数,不能定义在summerready中),如果需要关闭页面,可在keyBack函数中调用summer.closeWin()。
实例1

  1. //在当前index页面中去打开main页面,则需要在main页面中定义keyBack方法
  2. summer.openWin({
  3. id:"main",
  4. url:"htmlmain.html",
  5. "addBackListener":"true"
  6. });
  7. //在main页面中定义全局的keyBack函数
  8. function keyBack(){
  9. summer.closeWin();
  10. }

实例2

  1. //打开主页面
  2. summer.openWin({
  3. id:"main",
  4. url:"htmlmain.html",
  5. "addBackListener":"true"
  6. });
  7. //在全局的keyBack函数中判断是否连续两次点击返回键,
  8. var turn = 0;
  9. function keyBack(){
  10. turn++;
  11. if(turn==2){
  12. clearInterval(intervalID);
  13. summer.exitApp()
  14. }else{
  15. summer.toast({"msg":"再点击一次退出!"});
  16. }
  17. var intervalID = setInterval(function() {
  18. clearInterval(intervalID);
  19. turn=0;
  20. }, 3000);
  21. }

监听返回键2

  1. document.addEventListener("backbutton", onBackKeyDown, false); //监听返回键
  2. function onBackKeyDown(){
  3. if(confirm("再点击一次退出!")){
  4. summer.exitApp()
  5. };
  6. document.removeEventListener("backbutton", onBackKeyDown, false); //注销返回键
  7. var intervalID = setInterval(function() {
  8. clearInterval(intervalID);
  9. document.addEventListener("backbutton", onBackKeyDown, false); // 监听返回键
  10. }, 3000);
  11. };

解释:
1、首先添加监听安卓返回键事件。
2、执行回调函数中,如果点击确认键,直接退出应用。
3、注销监听安卓返回键事件,这样就恢复了安卓返回键自身的功能。
4、设置定时器,每3秒钟添加监听安卓返回键事件。

监听返回键3

  1. document.addEventListener("backbutton", onBackKeyDown, false); //监听返回键
  2. var turn = 0;
  3. function onBackKeyDown(){
  4. turn++;
  5. if(turn==2){
  6. clearInterval(intervalID);
  7. summer.exitApp()
  8. }else{
  9. summer.toast({"msg":"再点击一次退出!"});
  10. }
  11. var intervalID = setInterval(function() {
  12. clearInterval(intervalID);
  13. turn=0;
  14. }, 3000);
  15. };

解释:
1、首先添加监听安卓返回键事件。
2、定义个计数变量。
3、每次点击,计数变量加一,等于二的时候退出应用,其他情况弹出提示框。
4、设置定时器,每3秒钟让数字变量清零。

用例github下载地址

文档更新时间: 2018-06-06 13:54