ionic实现双击返回键退出软件

1.首先要安装cordova插件:插件地址:cordova plugin add https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git

2.在run.js中的代码:(注意参数要加上)

.run(function ($ionicPlatform, $rootScope, $location, $timeout, $ionicHistory, $cordovaToast) {
        $ionicPlatform.ready(function ($rootScope) {
            // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
            // for form inputs)
            if (window.cordova && window.cordova.plugins.Keyboard) {
                cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
            }
            if (window.StatusBar) {
                // org.apache.cordova.statusbar required
                StatusBar.styleDefault();
            }
        });
        //双击退出
        $ionicPlatform.registerBackButtonAction(function (e) {
            //判断处于哪个页面时双击退出
            if ($location.path() == ‘/main) {
                if ($rootScope.backButtonPressedOnceToExit) {
                    ionic.Platform.exitApp();
                } else {
                    $rootScope.backButtonPressedOnceToExit = true;
                    $cordovaToast.showShortTop(‘再按一次退出系统‘);
                    setTimeout(function () {
                        $rootScope.backButtonPressedOnceToExit = false;
                    }, 2000);
                }
            }
            else if ($ionicHistory.backView()) {
                $ionicHistory.goBack();
            } else {
                $rootScope.backButtonPressedOnceToExit = true;
                $cordovaToast.showShortTop(‘再按一次退出系统‘);
                setTimeout(function () {
                    $rootScope.backButtonPressedOnceToExit = false;
                }, 2000);
            }
            e.preventDefault();
            return false;
        }, 101);
    })但是不知道是为什么返回历史这一个没有实现,由于开发的软件页面也不是特别多,所以找到一下的解决方案:
else if ($ionicHistory.currentStateName() == ‘edit‘) {     $state.go(‘main‘); }判断当前的state是否为edit,是的话返回首页面~参考文章:http://ionichina.com/topic/5514b539b6421f9166aa5f88
时间: 2024-11-05 12:33:42

ionic实现双击返回键退出软件的相关文章

app点击返回键不退出,双击返回键退出

直接代码 // 按返回键的时候返回上一页面不退出,goBack()表示返回webView的上一页面 public boolean onKeyDown(int keyCoder, KeyEvent event) { if(!webView1.canGoBack() ){ exit(); return false; } if ( keyCoder == KeyEvent.KEYCODE_BACK) { webView1.goBack(); exit(); return false; } else{

Android双击返回键退出Activity的方法

第一种:利用线程延时实现: private int mBackKeyPressedTimes = 0; @Override public void onBackPressed() { if (mBackKeyPressedTimes == 0) { Toast.makeText(this, "再按一次退出程序 ", Toast.LENGTH_SHORT).show(); mBackKeyPressedTimes = 1; new Thread() { @Override public

Android双击返回键退出Activity的两种方法

在开发应用程序的时候,有一种功能是非常常用到的,那就是迅速双击返回按钮,然后实现退出Activity的功能.本人在网上看了很多资料代码,总结起来,主要有两种比较好的方式.一种是开线程延时执行,一种是记录按键时间计算时间差实现.现在跟大家分享一下,代码如下,希望对大家有帮助: 第一种:利用线程延时实现: private int mBackKeyPressedTimes = 0; @Override public void onBackPressed() { if (mBackKeyPressedT

双击返回键退出

1.监听返回键 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); return false; } return super.onKeyDown(keyCode, event); } 2.逻辑判断 private void exit() { if ((System.currentTimeMillis() - exitTime) > 2000)

Android 双击返回键退出应用

今天做应用的双击退出效果,使用了网上建议的方法,但是每次都是点击一次就退出了,所以就没有用大家的方法,下面把自己的方法写出来,做一下记录.代码如下: /** 双击退出程序 */ private long mExitTime; @Override public void onBackPressed() { // TODO Auto-generated method stub // super.onBackPressed(); if ((System.currentTimeMillis() - mE

Android技术23:Android使用返回键退出实现

Android中通过双击返回键退出应用 在Android应用程序,经常可以通过双击返回键退出应用程序,例如QQ空间.下面将通过代码演示该过程. 1.设置退出标志符号 boolean isExist=false;默认为fasle 2.覆写onKeyDown()方法 监听Back键,当keyCode==KeyEvent.KEYCODE_BACK,则执行将isExist设置为ture,当第二次按back键时,应用程序退出,但两次时间间隔需要在一定时间内. 1 @Override 2 public bo

(Android Studio)简单实现:双击返回键,退出应用首页

设计需求:当用户想要退出某个页面(经常为首页)时,跳出Toast提示信息“再按返回键退出!”. 当用户两次双击,时间间隔少于800毫秒时,退出该应用.否则只显示提示信息,无操作. @Override public void onBackPressed() { if(System.currentTimeMillis() - mExitTime < 800) { ScrollingActivity.this.finish(); //关闭本活动页面 } else{ toast("再按返回键退出!

点击返回键退出popupwindow的方法

点击返回键退出popupwindow mPopupWindow.setFocusable(true); 这句非常重要,对背景不会有影响 mPopupWindow.setBackgroundDrawable(new BitmapDrawable()); 然后再设置它的键监听器 mView.setOnKeyListener(onKeyListener); private OnKeyListener onKeyListener=new OnKeyListener() { @Override publi

Android应用系列:双击返回键退出程序

前言 有一个很古老的应用技巧,一直被各种大大小小的app用得乐此不疲,那就是双击返回键退出程序.今天就写写它的实现代码,非常简单而且实用. 正文 双击返回键退出程序,一般有两种实现思路,一种是用一个布尔值变量来记录按键事件,并通过线程延时来实现效果:另外一种是直接通过记录按键时间计算时间差实现功能,现在就跟大家分享下代码吧.O(∩_∩)O哈哈~ 1.利用线程延时实现 private static boolean mBackKeyPressed = false;//记录是否有首次按键 @Overr