精华内容
下载资源
问答
  • Android 手机返回 退出应用

    千次阅读 2015-04-23 20:12:24
    对于后台代码退出手机应用这块就不用介绍了,网上这种方法太多了,我来说一下纯html页面退出手机应用的解决方案 http://dcloudio.github.io/mui/javascript/#closewindow 在以上网址中介绍了一种关闭页面的方法,...

    对于后台代码退出手机应用这块就不用介绍了,网上这种方法太多了,我来说一下纯html页面退出手机应用的解决方案


    http://dcloudio.github.io/mui/javascript/#closewindow

    在以上网址中介绍了一种关闭页面的方法,其中代码是这样的


    //备份mui.back,mui.back已将窗口关闭逻辑封装的比较完善(预加载及父子窗口),因此最好复用mui.back
    var old_back = mui.back;
    mui.back = function(){
      var btn = ["确定","取消"];
      mui.confirm('确认关闭当前窗口?','Hello MUI',btn,function(e){
        if(e.index==0){
        	//执行mui封装好的窗口关闭逻辑;
        	old_back();
        }
      });
    }


    但是我用的 Hbuilder 开发将这些代码写入html中的javaScript,还是未能实现,其mui.back 只是退出了弹出框,又回到了软件主页。

    总之就是搜索了很多方法都未能成功,参考的其他软件代码都比较繁琐,由于开发任务较重,也没有精简代码到最少。以下是我的解决方案。

    在登陆页面要是退出的话,在<script>中写入

    mui.init({
      keyEventBind:{
        backbutton:true
      }
    });


    这是设置监听手机返回键有效,因为要捕获手机返回键。 我看了网上的介绍说是默认设置为监听有效,但是我没有去试,所以手动设置监听有效。

    以下是设置退出应用。(弹出框百试无效,所以做了个两次返回键退出应用)

    var first=null;
    mui.back=function(){
      if(!first){
        first=new Date().getTime();
        mui.toast('再按一次退出系统!');
    
        setTimeout(function(){
          first=null;
        },2000);
      }else{
        if(new Date().getTime()-first<2000){
          plus.runtime.quit();
       }
     }
    };


    这段代码中2000是设置两秒内再按一次返回键则退出应用。将上述两段代码放到登陆页面的script中就可以退出应用了。大家可以试一下去掉监听设置看能不能返回,欢迎评论本文!

    展开全文
  • vue 开发webapp 手机返回 退出问题

    万次阅读 2018-06-13 14:34:30
    mui进行手机物理的监听首先安装 vue-awesome-muinpm i vue-awesome-mui在main.js注册import Mui from 'vue-awesome-mui';Vue.use(Mui);在index.html&lt;script&gt; mui.init({ keyEventBind: { back...

    mui进行手机物理键的监听

    首先安装 vue-awesome-mui

    npm i vue-awesome-mui

    在main.js注册

    import Mui from 'vue-awesome-mui';

    Vue. use( Mui);

    在index.html

    < script >
    mui. init({
    keyEventBind: {
    backbutton: true //关闭back按键监听
    }
    });
    // //首页返回键处理
    // //处理逻辑:1秒内,连续两次按返回键,则退出应用;
    var first = null;
    mui. back = function() {
    //首次按键,提示 再按一次退出应用
    if (! first) {
    first = new Date(). getTime(); //记录第一次按下回退键的时间
    mui. toast( '再按一次退出应用'); //给出提示
    history. go(- 1) //回退到上一页面
    setTimeout( function() { //1s中后清除
    first = null;
    }, 1000);
    } else {
    if ( new Date(). getTime() - first < 1000) { //如果两次按下的时间小于1s,
    plus. runtime. quit(); //那么就退出app

    } } };
    < / script >


    展开全文
  • 手机返回APP直接退出问题

    千次阅读 2018-06-26 15:52:44
    最近vue做个项目,通过HBuilder打包之后发现按手机的返回应用直接退出了,而不是返回上一页,为此,特意解决了这一问题,具体代码如下:document.addEventListener('plusready', function() { var webview = plus...

    最近vue做个项目,通过HBuilder打包之后发现按手机的返回键应用直接退出了,而不是返回上一页,为此,特意解决了这一问题,具体代码如下:

    document.addEventListener('plusready', function() {
      var webview = plus.webview.currentWebview();
      plus.key.addEventListener('backbutton', function() {
        webview.canBack(function(e) {
          if(e.canBack) {
            webview.back();//返回上一页
          } else {
            webview.close(); //关闭应用
          }
        })
      });
    });

    将上述代码写在公共js中,在main.js中引用,即可解决以上问题。

    以上解决方法,把返回上一页解决了,但是当应用返回到首页时,在此点击直接退出了应用,如果设置成连续点击两次才退出程序,要怎么写呢?

    下面以mui为例进行代码的编写,具体如下:

    mui.plusReady(function() {
              //首页返回键处理
              //处理逻辑:1秒内,连续两次按返回键,则退出应用;
              var first = null;
              plus.key.addEventListener('backbutton', function() {
                //首次按键,提示‘再按一次退出应用’
                if (!first) {
                  first = new Date().getTime();
                  mui.toast('再按一次退出应用');
                  setTimeout(function() {
                    first = null;
                  }, 1000);
                } else {
                  if (new Date().getTime() - first < 1500) {
                    plus.runtime.quit();
                  }
                }
              }, false);
            });

    完整js如下:

    document.addEventListener('plusready', function() {
      var webview = plus.webview.currentWebview();
      plus.key.addEventListener('backbutton', function() {
        webview.canBack(function(e) {
          if(e.canBack) {
            webview.back();
          } else {
            //webview.close(); //hide,quit
            //plus.runtime.quit();
            mui.plusReady(function() {
              //首页返回键处理
              //处理逻辑:1秒内,连续两次按返回键,则退出应用;
              var first = null;
              plus.key.addEventListener('backbutton', function() {
                //首次按键,提示‘再按一次退出应用’
                if (!first) {
                  first = new Date().getTime();
                  mui.toast('再按一次退出应用');
                  setTimeout(function() {
                    first = null;
                  }, 1000);
                } else {
                  if (new Date().getTime() - first < 1500) {
                    plus.runtime.quit();
                  }
                }
              }, false);
            });
          }
        })
      });
    });
    
    参考链接: 点击打开链接
    展开全文
  • 昨天通过hbuilder将做了一部分的vue项目进行打包成app测试,发现打包成的app点击手机的返回的时候直接退出了app,并不会返回上一页 于是去网上查了一下终于解决了这个问题 参考博客链接:...

    昨天通过hbuilder将做了一部分的vue项目进行打包成app测试,发现打包成的app点击手机的返回键的时候直接退出了app,并不会返回上一页
    于是去网上查了一下终于解决了这个问题
    参考博客链接:https://blog.csdn.net/qq_25252769/article/details/76913083
    说明:我项目中没有用mui.js,所以用下面的方法就可以了,如果用了mui.js的朋友可以参考上方的博客

    • 下面是解决方案
    1. 首先我们新建一个appback.js文件,名字随便起,然后将下面的内容复制进去
    /**
     * 解决hbuilder打包app之后点击手机返回键直接退出app的
     */
    document.addEventListener('plusready', function () {
      var webview = plus.webview.currentWebview()
      plus.key.addEventListener('backbutton', function () {
        webview.canBack(function (e) {
          if (e.canBack) {
            webview.back()
          } else {
            // webview.close() //hide,quit
            // plus.runtime.quit()
            // 首页返回键处理
            // 处理逻辑:1秒内,连续两次按返回键,则退出应用;
            var first = null
            plus.key.addEventListener(
              'backbutton',
              function () {
                // 首次按键,提示‘再按一次退出应用’
                if (!first) {
                  first = new Date().getTime()
                  console.log('再按一次退出应用') // 此处可以用自定义提示
                  setTimeout(function () {
                    first = null
                  }, 1000)
                } else {
                  if (new Date().getTime() - first < 1500) {
                    plus.runtime.quit()
                  }
                }
              },
              false
            )
          }
        })
      })
    })
    
    1. 然后在main.js中将该文件引入进去即可
    import './utils/appback.js'
    
    展开全文
  • 第一步:首先我们新建一个appback... * 解决hbuilder打包app之后点击手机返回直接退出app的 */ document.addEventListener('plusready', function () { var webview = plus.webview.currentWebview() plus.key....
  • vue项目打包后利用hbuilder生成app,安装到手机上后会发现有一个bug:点击手机的返回直接退出整个程序了。 解决方案: 只需在index.html加入以下代码就行了 <script type="text/javascript"> document....
  • 点击两次手机的返回应用退出的操作在用户使用手机的过程中,可以在应用中设置在一段时间内点击两次手机的返回键退出。需要设置的变量:(1)boolean变量 这个是用来记录是不是在特定的一段时间内是不是已经有一次...
  • 问题描述:Hbuilder打包的app如果点击手机返回,app会直接退出,返回不了上一页。 1、处理子页面点击返回直接退出,无法返回,代码如下: //这个不是写在首页,写在子页面(子页面才能返回,写在首页点击返回...
  • 原理:在main里监听最外层返回,然后通讯原生,执行 moveTaskToBack(false) 回到手机桌面不退出app 安卓文件里 MainActivity.java import android.os.Bundle; import io.flutter.app.FlutterActivity; import io...
  • ///设置回退到手机桌面 static Future < bool > backDesktop ( ) async { final platform = MethodChannel ( chanel ) ; try { await platform . invokeMethod ( eventBackDesktop ) ; } ...
  • 原理:在main里监听最外层返回,然后通讯原生,执行 moveTaskToBack(false) 回到手机桌面不退出app 安卓文件里 MainActivity.java import android.os.Bundle; import io.flutter.app.FlutterActivity; import io....
  • 实现手机物理返回的跳转逻辑:除特殊页面(例如首页、我的等一级页面),单击跳转到前一页;一级页面(除首页)单击跳转到首页;首页单击提示“在单击一次,退出app”,单击两次退出app。 2.代码步骤 1.在main.js中...
  • 【背景】:需要实现类似QQ、微信那样,按手机返回时不退出APP,而是返回到手机主界面 【实现原理】:在主活动中覆写onKeyDown()方法,当检测到返回被触发时,通过Intent直接进入主界面。 【实现代码】: //...
  • android 设置返回监听

    千次阅读 2015-10-24 20:45:14
    写一个 android APP,如果每次按下手机返回,就会直接退出APP,这效果明显很糟糕(不小心会经常触发)。 解决的办法:可以为手机返回键设置一个监听,并根据实际设计对应处理方法 例如: 在 activity 中添加...
  • 使用到H5+的api const that = this var webview = plus.webview.currentWebview(); plus.key.addEventListener('backbutton', function() { webview.canBack(function(e) { uni....
  • Input.GetKey(KeyCode.Escape)
  • webapp开发 点击返回一次退出问题

    千次阅读 2018-10-31 17:13:11
    mui进行手机物理的监听 首先安装 vue-awesome-mui npm i vue-awesome-mui 在main.js注册 import Mui from ‘vue-awesome-mui’; Vue.use(Mui); mui.init({ keyEventBind: { backbutton: true //关闭back按键...
  • Activity退出后,键盘不收回

    千次阅读 2017-09-08 20:14:29
    Activity退出后,键盘不收回
  • 一、按返回禁止退出 适用于即时通讯项目 ######1、先在lib下新建文件 android_back_desktop.dart ... //初始化通信管道-设置退出手机桌面 static const String CHANNEL = "android/back/desktop"; //设置
  • 点击手机物理返回

    2015-07-27 18:04:46
    android开发中双击手机物理“back”,退出应用的方法有两种:一,重写Activity中的方法:@Override public boolean onKeyDown(int keyCode, KeyEvent event){ if(keyCode==KeyEvent.KEYCODE_BACK){ //弹出确定...
  • 1、 找到你应用程序名下的Info.plist文件下的Application does not run in background 2、把它的属性改为Yes 如果没有找到,自己添加,再添加项中可以找到 3、重新运行程序就行了
  • 前言 第一个问题:app按两次Back到桌面,再返回app数据没有置空 项目中有一个全局单例保存的数据 我发现每次当我按下Back返回,...另外在activity中按下back,实际是调用了finish方法,应用退出。虽然应用...
  • 做移动端网页时,需要用到手机返回来返回上一个页面,希望在主页时按返回直接退出,而不是回到登录界面,实现方法如下:如登录界面为A,主页为B,当登录成功后从A跳到B时,在js中执行 location.replace(B);...
  • 在Android应用中按一次返回退出应用时弹出对话框提醒,防止错按的发生
  • mui+vue监听安卓手机返回

    千次阅读 2018-12-21 15:23:49
    1.引入mui之后,在index.html中初始化mui,可以不设置keyEventBind,默认监听back,menu <!-- 引入mui --> <script src="./static/mui/js/mui.min.js"></script> <script type="text/...
  • 场景:公司vue开发的app,打包测试,返回退出app 解决办法: <script> //这个不是写在首页,写在子页面(子页面才能返回,写在首页点击返回就是退出) //都是h5方法 document.addEventListener('...
  • 其实你的app并不一定要设置退出功能 前文我们讲到了 使用“堆栈法”退出app的方法,但那种方法仅适合于不支持横竖屏切换(或者说,横竖屏切换并不会导致Activity destroy的情况下)的application. 其实换一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,623
精华内容 13,049
关键字:

如何设置手机退出键