ionic实现双击返回键退出功能
实现这个功能需要四个步骤:
步骤一:
说明:因为需要和手机的硬件(返回按钮)打交道,而ionic本身是不具备该功能的,但是有一个东西可以:ng-cordova插件,这个插件是phoneGap为了能让ionic操作硬件而为ionic量身打造的一款插件,只要安装上这个插件,我们的ionic应用就具备了拍照,浏览图库,监听返回按钮等等功能。
操作:按照这个网址http://ngcordova.com/docs/install/上面说的安装好ng-cordova插件
步骤二:
说明:上述的ng-cordova这个插件有点像Java语言中接口的意思,具体需要实现什么功能我们还要为他安装它的实现类(它的插件),现在我们要提示用户“再按一次退出系统”的一个提示框,这个提示框的插件叫做cordova-toast(或叫cordovaToast或叫$cordovaToast)。
操作:在DOS窗口中进入你当前Ionic应用的目录,输入命令:cordova plugin add https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git
步骤三:
说明:插件安装完成之后我们还需加入(注入)依赖之后才能使用
操作:在如步骤四的代码中加入$cordovaToast,同时借助于ionic自身的$ionicPlatform,$location,$rootScope,$ionicHistory
步骤四:代码实现
angular.module('lqApp', ['ionic','ngCordova'])
.run(['$ionicPlatform','$location','$rootScope','$ionicHistory','$cordovaToast',
function ($ionicPlatform,$location,$rootScope,$ionicHistory,$cordovaToast) {
$ionicPlatform.ready(function () {
// 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();
}
}); /********************双击退出start********************/
$ionicPlatform.registerBackButtonAction(function (e) {
//判断处于哪个页面时双击退出
if ($location.path() == '/login' || $location.path() == '/tab/main' ) {
if ($rootScope.backButtonPressedOnceToExit) {
ionic.Platform.exitApp();
} else {
$rootScope.backButtonPressedOnceToExit = true;
$cordovaToast.showShortBottom('再按一次退出系统');
setTimeout(function () {
$rootScope.backButtonPressedOnceToExit = false;
}, 2000);
}
}
else if ($ionicHistory.backView()) {
$ionicHistory.goBack();
} else {
$rootScope.backButtonPressedOnceToExit = true;
$cordovaToast.showShortTop('再按一次退出系统')
.then(function(success) {
// success
alert("'success");
}, function (error) {
// error
alert("error");
});
setTimeout(function () {
$rootScope.backButtonPressedOnceToExit = false;
}, 2000);
}
e.preventDefault();
return false;
}, 101);
/********************双击退出end********************/
}]);
ionic实现双击返回键退出功能的更多相关文章
- [转]Ionic 实现双击返回键退出功能
本文转自:http://ionichina.com/topic/5514b539b6421f9166aa5f88 一.准备 Toast插件 插件地址:cordova plugin add https: ...
- ionic 实现双击返回键退出应用功能
ionic 实现双击返回键退出应用功能 keywords cordova,ngcordova,phonegap,ionic,双击,返回键,退出 例子 准备Toast插件,提示用,用户体验好点,不是必须 ...
- ionic实现双击返回键退出软件
1.首先要安装cordova插件:插件地址:cordova plugin add https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git ...
- Android双击返回键退出Activity的两种方法
在开发应用程序的时候,有一种功能是非常常用到的,那就是迅速双击返回按钮,然后实现退出Activity的功能.本人在网上看了很多资料代码,总结起来,主要有两种比较好的方式.一种是开线程延时执行,一种是记 ...
- Android应用双击返回键退出
@Override public void onBackPressed() { // TODO 退出提示 if (System.currentTimeMillis() - mExitTime > ...
- WP8 双击返回键退出
bool isExit = false; // 构造函数 public MainPage() { InitializeComponent(); isExit = false; // 用于本地化 App ...
- WP8.1应用双击返回键退出程序。
#region 双击退出程序代码 //双击HardwareButtons.BackPressed: //出现退出提示窗口: //“确定”退出,“取消”返回什么也不做: private async vo ...
- Android 应用按两下返回键退出应用程序
在android应用开发中,有时候应用会用到按两下返回键退出应用的功能,今天介绍一下这个功能,直接上代码: @Override public boolean dispatchKeyEvent(KeyE ...
- android双击返回键退出程序
今天给大家简单说一下,android双击返回键退出程序. @Override public boolean onKeyDown(int keyCode, KeyEvent event) { ...
随机推荐
- js图片左右旋转
图片显示 <p> <a href="images/example2.jpg" rel="lightbox-group" title=" ...
- js 获取url参数的值
//获取url参数函数function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +" ...
- sdn
#!/usr/bin/env python #from mininet.cli import CLI #from mininet.link import Link #from mininet.net ...
- hdu 5901 Count primes
题意: 计数区间$[1, n](1 \leq n \leq 10^{11})$素数个数. 分析: 这里只介绍一种动态规划的做法. 首先要说一下[分层思想]在动态规划中非常重要,下面的做法也正是基于这一 ...
- 【转】ACM训练计划
[转] POJ推荐50题以及ACM训练方案 -- : 转载自 wade_wang 最终编辑 000lzl POJ 推荐50题 第一类 动态规划(至少6题, 和 必做) 和 (可贪心) (稍难) 第二类 ...
- System Setup
vistual studio 2013 download: http://www.microsoft.com/en-us/download/details.aspx?id=48138 http://w ...
- 阅读笔记 火球UML大战需求分析3
在复习回顾的以前所学的UML 统一建模语言之后,要将他们融会贯通起来,必定要进行一次事件,这样才能更好地运用各种UML,所以,了解了所有的UML图之后,就要开始接收一个练习的项目了. 这里作者给的例子 ...
- destoon系统中get_maincat的用法及解释
get_maincat函数的用法, 如get_maincat(0, $mid, 1),其中第一.二.三个参数分别表示什么? 第一个参数代表parentid 第二个参数代表所有的分类 第三个参数 代表 ...
- R中数据拆分和整合
library(data.table)ID <- c(NA,1,2,2)IDTime <- c(1,2,NA,1)TimeX1 <- c(5,3,NA,2)X1X2 <- c( ...
- JavaScript、jQuery、fish的遍历方法(each、forEach)总结
起因 在工作中,需要在遍历的dom中找到第一个并做下操作然后退出遍历,我首先想到了用each方法,但由于无论是公用的jQuery组件还是公司的fish组件.我都忘记了怎么去退出遍历,所以就有了这篇帖子 ...