PhoneGap中文网

标题: Ionic+phonegap 实现双击返回键退出功能 [打印本页]

作者: 你懂的    时间: 2015-7-25 13:08
标题: Ionic+phonegap 实现双击返回键退出功能
Ionic+phonegap 实现双击返回键退出功能代码以及插件下载

一、准备

Toast插件

插件地址:cordova plugin add https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git

二:代码

  1. .run(function ($ionicPlatform, $rootScope, $location, $timeout, $ionicHistory, $cordovaToast) {
  2.         $ionicPlatform.ready(function ($rootScope) {
  3.             // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
  4.             // for form inputs)
  5.             if (window.cordova && window.cordova.plugins.Keyboard) {
  6.                 cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
  7.             }
  8.             if (window.StatusBar) {
  9.                 // org.apache.cordova.statusbar required
  10.                 StatusBar.styleDefault();
  11.             }
  12.         });
  13.         //双击退出
  14.         $ionicPlatform.registerBackButtonAction(function (e) {
  15.             //判断处于哪个页面时双击退出
  16.             if ($location.path() == '/tab/news') {
  17.                 if ($rootScope.backButtonPressedOnceToExit) {
  18.                     ionic.Platform.exitApp();
  19.                 } else {
  20.                     $rootScope.backButtonPressedOnceToExit = true;
  21.                     $cordovaToast.showShortTop('再按一次退出系统');
  22.                     setTimeout(function () {
  23.                         $rootScope.backButtonPressedOnceToExit = false;
  24.                     }, 2000);
  25.                 }
  26.             }
  27.             else if ($ionicHistory.backView()) {
  28.                 $ionicHistory.goBack();
  29.             } else {
  30.                 $rootScope.backButtonPressedOnceToExit = true;
  31.                 $cordovaToast.showShortTop('再按一次退出系统');
  32.                 setTimeout(function () {
  33.                     $rootScope.backButtonPressedOnceToExit = false;
  34.                 }, 2000);
  35.             }
  36.             e.preventDefault();
  37.             return false;
  38.         }, 101);
  39.     })
复制代码





作者: epdcionic    时间: 2015-7-30 15:43
出现图片上的错误,这个供应链没有

QQ截图20150730154042.png (17.17 KB, 下载次数: 565)

错误图片

错误图片

作者: epdcionic    时间: 2015-7-30 16:03
按着那网页上操作window.plugins.toast.showShortTop('更新成功');
出现Uncaught TypeError: Cannot read property 'toast' of undefined错误
作者: epdcionic    时间: 2015-7-30 17:12
额额,原来真机测试才有效果
作者: 幸福的雏    时间: 2015-10-14 12:59
本帖最后由 幸福的雏 于 2015-10-14 13:12 编辑

我在真机上测试,没有效果啊
作者: 幸福的雏    时间: 2015-10-14 14:42
楼上都试过吗?我在真机上测试,点击返回按钮没有作用啊,没有任何提示!
感觉是  $ionicPlatform.registerBackButtonAction();这个事件注册不上。
作者: dyf564985574    时间: 2015-10-30 16:43
我的也不行 有解决办法吗
作者: admin    时间: 2015-10-30 21:43
幸福的雏 发表于 2015-10-14 14:42
楼上都试过吗?我在真机上测试,点击返回按钮没有作用啊,没有任何提示!
感觉是  $ionicPlatform.register ...


上面楼主发的好像真的不行
监听设备的返回事件试试,看看以前的jquerymobile上面的例子,看代码逻辑


http://bbs.phonegap100.com/thread-231-1-1.html



作者: lao__fangzi    时间: 2015-11-13 17:21
可行,copy了
作者: cswisodmliu    时间: 2015-12-1 15:57
http://www.ionic.ren/2015/11/30/ ... %E5%A4%84%E7%90%86/
作者: 执笔丶续写繁华    时间: 2016-3-7 11:13
可以使用,那些说没效果的看下
$location.path() == '/tab/news'
这里改成自己的主页面路径就可以了
作者: ionicwang    时间: 2016-3-7 13:18
  1. <pre>//返回键处理
  2. //主页面显示退出提示框
  3. $ionicPlatform.registerBackButtonAction(function (e) {
  4.     e.preventDefault();
  5.     function showConfirm() {
  6.         var confirmPopup = $ionicPopup.confirm({
  7.             title: '<strong>退出应用?</strong>',
  8.             template: '你确定要退出应用吗?',
  9.             okText: '退出',
  10.             cancelText: '取消'
  11.         });
  12.         confirmPopup.then(function (res) {
  13.             if (res) {
  14.                 ionic.Platform.exitApp();
  15.             } else {

  16.             }
  17.         });
  18.     }

  19.     if ($location.path() == '/home/homeInfo') {
  20.         showConfirm();
  21.     } else if ($ionicHistory.backView()) {
  22.         $ionicHistory.goBack();
  23.     } else {
  24.         showConfirm();
  25.     }
  26.     return false;
  27. }, 101);</pre>
复制代码






欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2