首页 > ionic app 怎么实现返回按钮问题

ionic app 怎么实现返回按钮问题

ionic app 打包apk之后,手机上返回键点击效果是退出,

需要实现效果:1、特定页面双击返回键退出,单击一次会出现“在点击一次退出”提示
2、除上一条以外的页面,点击返回键,返回到上一个页面,路由使用的是ui-router

请问以上两个效果该怎么实现


搞定了

.run(['$ionicPlatform', '$rootScope', '$location', '$timeout', '$ionicHistory', '$cordovaToast', '$cordovaKeyboard', function($ionicPlatform, $rootScope, $location, $timeout, $ionicHistory, $cordovaToast, $cordovaKeyboard) {
    $ionicPlatform.ready(function() {
        // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
        if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
        }
        if (window.StatusBar) {
            // org.apache.cordova.statusbar required
            StatusBar.styleLightContent();
        }
    });

    //物理返回按钮控制&双击退出应用
    $ionicPlatform.registerBackButtonAction(function(e) {
        //判断处于哪个页面时双击退出
        if ($location.path() == '/app/playlists' || $location.path() == '/app/search') {
            if ($rootScope.backButtonPressedOnceToExit) {
                ionic.Platform.exitApp();
            } else {
                $rootScope.backButtonPressedOnceToExit = true;
                $cordovaToast.showShortBottom('再按一次退出系统');
                setTimeout(function() {
                    $rootScope.backButtonPressedOnceToExit = false;
                }, 2000);
            }
        } else if ($ionicHistory.backView()) {
            if ($cordovaKeyboard.isVisible()) {
                $cordovaKeyboard.close();
            } else {
                $ionicHistory.goBack();
            }
        } else {
            $rootScope.backButtonPressedOnceToExit = true;
            $cordovaToast.showShortBottom('再按一次退出系统');
            setTimeout(function() {
                $rootScope.backButtonPressedOnceToExit = false;
            }, 2000);
        }
        e.preventDefault();
        return false;
    }, 101);

在特殊页面加个标记,进入特殊页面后就把标记置成true,然后在run方法中监听返回键。监听方法中判断特殊标记是不是true,是就显示双击退出逻辑,不是就返回上一页。

【热门文章】
【热门文章】