PhoneGap中文网

 找回密码
 立即注册
查看: 43522|回复: 11
打印 上一主题 下一主题

Ionic+phonegap 实现双击返回键退出功能

[复制链接]

52

主题

528

帖子

1652

积分

金牌会员

Rank: 6Rank: 6

积分
1652
跳转到指定楼层
楼主
发表于 2015-7-25 13:08:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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.     })
复制代码




回复

使用道具 举报

4

主题

16

帖子

84

积分

注册会员

Rank: 2

积分
84
沙发
发表于 2015-7-30 15:43:47 | 只看该作者
出现图片上的错误,这个供应链没有

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

错误图片

错误图片
回复 支持 反对

使用道具 举报

4

主题

16

帖子

84

积分

注册会员

Rank: 2

积分
84
板凳
发表于 2015-7-30 16:03:44 | 只看该作者
按着那网页上操作window.plugins.toast.showShortTop('更新成功');
出现Uncaught TypeError: Cannot read property 'toast' of undefined错误
回复 支持 反对

使用道具 举报

4

主题

16

帖子

84

积分

注册会员

Rank: 2

积分
84
地板
发表于 2015-7-30 17:12:42 | 只看该作者
额额,原来真机测试才有效果
回复 支持 反对

使用道具 举报

7

主题

22

帖子

137

积分

注册会员

Rank: 2

积分
137
5#
发表于 2015-10-14 12:59:37 | 只看该作者
本帖最后由 幸福的雏 于 2015-10-14 13:12 编辑

我在真机上测试,没有效果啊
回复 支持 反对

使用道具 举报

7

主题

22

帖子

137

积分

注册会员

Rank: 2

积分
137
6#
发表于 2015-10-14 14:42:55 | 只看该作者
楼上都试过吗?我在真机上测试,点击返回按钮没有作用啊,没有任何提示!
感觉是  $ionicPlatform.registerBackButtonAction();这个事件注册不上。
回复 支持 反对

使用道具 举报

1

主题

2

帖子

7

积分

新手上路

Rank: 1

积分
7
7#
发表于 2015-10-30 16:43:59 | 只看该作者
我的也不行 有解决办法吗
回复 支持 反对

使用道具 举报

493

主题

2035

帖子

6894

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6894
8#
发表于 2015-10-30 21:43:24 | 只看该作者
幸福的雏 发表于 2015-10-14 14:42
楼上都试过吗?我在真机上测试,点击返回按钮没有作用啊,没有任何提示!
感觉是  $ionicPlatform.register ...


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


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


回复 支持 反对

使用道具 举报

3

主题

13

帖子

87

积分

注册会员

Rank: 2

积分
87
9#
发表于 2015-11-13 17:21:20 | 只看该作者
可行,copy了
回复 支持 反对

使用道具 举报

0

主题

54

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
10#
发表于 2015-12-1 15:57:34 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2025-1-3 03:53 , Processed in 0.043011 second(s), 35 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表