当时用的是ionic开发一个app,需求是,当按下手机的返回按钮,在指定的页面双击退出,而在其他页面点击一次返回到上个页面;

其实用ionic自带的服务就可以解决:

 //双击退出 
 $ionicPlatform.registerBackButtonAction(function (e) {
  //判断处于哪个页面时双击退出 
  if($location.path() =='/message' || $location.path() =='/work' || $location.path() =='/mine' || $location.path()=='/login'){
   if ($rootScope.backButtonPressedOnceToExit) {
    $rootScope.disconnect();
    ionic.Platform.exitApp();
   } else {
    $rootScope.backButtonPressedOnceToExit = true;
    $CommonFactory.showToast('再按一次退出程序',"short","bottom");
    $timeout(
     function () {
      $rootScope.backButtonPressedOnceToExit = false;
    }, 2000);
   }
  }else{
   $CommonFactory.topBack();
  }
  e.preventDefault();
  return false;  
 }, 101);

但是,我用了hbuider的编辑器,可以一边调试一边在手机上看,所有就出现了不能够返回退出;

在Hbuider中也可以实现监听手机返回键:

document.addEventListener("plusready", function(e) {
plus.key.addEventListener('backbutton', function(e) {
plus.nativeUI.confirm("退出程序?", function(event) {
   if (event.index) {
        plus.runtime.quit();
       }
    }, null, ["取消", "确定"]);  
}, false);
});

因为ionic是基于PhoneGap的编译平台,所以使用Hbuilder调试时没有效果;

使用ionic打包之后应该会没问题了把!

使用ionic开发时用遇到监听手机返回按钮的问题~的更多相关文章

  1. javascript监听手机返回键

    javascript监听手机返回键 <pre> if (window.history && window.history.pushState) { $(window).on ...

  2. 知识点---js监听手机返回键,回到指定界面

    方法一. $(function(){ pushHistory(); window.addEventListener(“popstate”, function(e) { window.location ...

  3. 【转】Android开发20——单个监听器监听多个按钮点击事件

    原文网址:http://woshixy.blog.51cto.com/5637578/1093936 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律 ...

  4. vue 弹窗时 监听手机返回键关闭弹窗(页面不跳转)

    [注]:  popstate 事件 a.当活动历史记录条目更改时,将触发popstate事件. b.如果被激活的历史记录条目是通过对history.pushState()的调用创建的,或者受到对his ...

  5. Fragment中 监听Android 返回按钮事件

    @Override public void onResume() { super.onResume(); getView().setFocusableInTouchMode(true); getVie ...

  6. 在做关于NIO TCP编程小案例时遇到无法监听write的问题,没想到只是我的if语句的位置放错了位置,哎,看了半天没看出来

    在做关于NIO TCP编程小案例时遇到无法监听write的问题,没想到只是我的if语句的位置放错了位置,哎,看了半天没看出来 贴下课堂笔记: 在Java中使用NIO进行网络TCP套接字编程主要以下几个 ...

  7. 用BroadcastReceiver监听手机网络状态变化

    android--解决方案--用BroadcastReceiver监听手机网络状态变化 标签: android网络状态监听方案 2015-01-20 15:23 1294人阅读 评论(3) 收藏 举报 ...

  8. Android初级教程使用服务注册广播接收者监听手机解锁屏变化

    之前第七章广播与服务理论篇写到: 特殊的广播接收者(一般发广播次数频率很高) 安卓中有一些广播接收者,必须使用代码注册,清单文件注册是无效的 屏幕锁屏和解锁 电量改变 今天在这里就回顾一下,且用代码方 ...

  9. iOS 关于监听手机截图,UIView生成UIImage, UIImage裁剪与压缩的总结

    一.  关于监听手机截图 1. 背景: 发现商品的售价页总是被人转发截图,为了方便用户添加截图分享的小功能 首先要注册用户截屏操作的通知 - (void)viewDidLoad { [super vi ...

随机推荐

  1. 首次编译Java小程序

    public class helloworld { public static void main(string[] args) { system.out.println("hello wo ...

  2. 对仿真glbl.v文件的理解

    Simulation, UniSim, SimPrim - How do I use the "glbl.v" module in a Verilog simulation? De ...

  3. java8 字符串转换 list long Integer

    String ids= "1,2,3,4,5,6"; List<Long> listIds = Arrays.asList(ids.split("," ...

  4. MyEclipse和Eclipse

    Eclipse 分成3个子项目: ·平台Platform ·开发工具箱-Java Development Toolkit(JDT) ·外挂开发环境-Plug-in Development Enviro ...

  5. 给Win32 GUI程序增加控制台窗口的方法

    给Win32 GUI程序增加控制台窗口的方法 2008年10月11日 星期六 下午 04:43 在Win32的GUI程序中,没有控制台窗口,我们输出调试信息时有些不方便,以往我的做法是使用Messag ...

  6. Gym - 100971J (思维+简单bfs)

    题目链接:http://codeforces.com/gym/100971/problem/J J. Robots at Warehouse time limit per test 2.0 s mem ...

  7. 20165326 java第一周学习笔记

    第一周学习笔记 一.理论视频学习 1.Java的特点:简单.面向对象.平台无关 2.Java的开发步骤&简单的应用程序: 文本编辑器写入代码 命名类名.java,文件类型所有文件,编码ANSI ...

  8. vue优势

    Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API: 我们都知道单页面应用:页面切换快 ,首屏时间稍慢,SEO差        js 渲染 (多页面应用:  首屏时间快 ...

  9. 爬虫框架存储pymysql方式

    爬虫框架存储pymysql方式# -*- coding: utf-8 -*-import pymysql# Define your item pipelines here## Don't forget ...

  10. Eclipse 通过JPA自动生成注解实体

    hibernate是JPA最常用的实现之一,而且hiberante自身也对注释语法进行了支持.现在再不用去看那一堆堆的XML映射了.而且eclipse还提供了从数据库直接生成Entity Class的 ...