• 【Cordova】开发app遇到的坑之 按两次返回键退出程序


    前言:

      之前做移动端开发app,前端无论用的是framework7还是vux或者是自己写,都会碰到了一个问题,就是点安卓手机的物理返回键返回的不是我程序的上一级,而是操作的上一级界面,举个例子:

      我从A界面跳转到B界面,再从B界面跳转到下一级C界面,然后我点界面上的返回键会正常返回跳转到B界面,此时我要是点物理返回键就会又跳转到C界面,so,这是个坑,而且至今没找到什么好的解决办法,监听不到安卓物理键的返回,找了个折中的办法,用Cordova卡住物理返回键,做成点击一次提示继续点击退出程序,点击两次直接退出程序的样式,坑还是没有爬完,大神们有什么好的建议欢迎留言,跪谢~

      直接上代码:

    <script src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
        // Wait for device API libraries to load    //
        function onLoad() {
            document.addEventListener("deviceready", onDeviceReady, false);
        }
        document.addEventListener("deviceready", onDeviceReady, false);
     
        function onDeviceReady() {
            //navigator.splashscreen.hide();
            document.addEventListener("backbutton", onBackKeyDown, false);
        }
        function onBackKeyDown() {
            window.plugins.toast.showLongCenter('再按一次退出', function(a){console.log('toast success: ' + a)}, function(b){alert('toast error: ' + b)})
            document.removeEventListener("backbutton", onBackKeyDown, false); // 注销返回键
            document.addEventListener("backbutton", exitApp, false);//绑定退出事件
            // 3秒后重新注册
            var intervalID = window.setInterval(function() {
                window.clearInterval(intervalID);
                document.removeEventListener("backbutton", exitApp, false); // 注销返回键
                document.addEventListener("backbutton", onBackKeyDown, false); // 返回键
            }, 3000);
        }
        function exitApp(){
            navigator.app.exitApp();
        }
    </script>

    注意:

      需要在cordova上安装TOAST插件:

    cordova plugin add cordova-plugin-x-toast
  • 相关阅读:
    特征归一化
    什么是端到端(end2end)学习?
    RSA加密原理及其证明
    python脚本中__all__变量的用法
    洛谷 1108 低价购买
    洛谷 3029 [USACO11NOV]牛的阵容Cow Lineup
    洛谷 1365 WJMZBMR打osu! / Easy
    洛谷 2759 奇怪的函数
    洛谷 2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
    牛客网NOIP赛前集训营 提高组 第5场 T2 旅游
  • 原文地址:https://www.cnblogs.com/shijianblog/p/12531531.html
Copyright © 2020-2023  润新知