美文网首页
处理app物理返回键逻辑

处理app物理返回键逻辑

作者: 不爱敲代码的程序员 | 来源:发表于2021-08-03 14:57 被阅读0次

用户在使用App时,对于返回功能的操作,往往习惯于用手机自带的返回键,例如,左滑,右滑,机身自带返回键等,当然iPad除外。所以尽管在APP的每个页面,开发者都有设置返回功能或者跳转功能,但用户在使用时所做的操作可不一定按照开发者所设计的流程走。
例如,用户支付账单,从未支付的状态到完成支付的状态后,开发者会设置button用于用户支付完后跳转相关页面。但实际中,如果用户支付完之后,通过手机自身的返回功能,此时的页面流程就不是开发者所设计的流程了,又返回到支付前的那个页面了,而且状态可能还未修改。当然这样的体验是相当不好的,所以需要去监听手机的物理返回键,从而去做相应的判断处理。
以uniapp项目为例,通过页面中的onBackPress(event)生命周期函数做监听,而不是组件中哦。

一、介绍

当用户在进行以下操作时,就会触发该函数;

  • Android 实体返回键 (e.from = backbutton)
  • 顶部导航栏的返回按钮 (e.from = backbutton)
  • 使用 uni.navigateBack() (e.from = navigateBack)
    在该函数中,通过retrun true,来设置不执行默认的返回,从而自行处理业务逻辑;

二、操作

常见的应用场景就是返回指定页面和应用退出时的弹窗提示;

  1. 返回指定页面:
    如果指定的页面很明确,可以直接调用路由的api去跳转;如果要进入的页面的动态变化的,则需要获取相应的页面栈,然后调用api去跳转。

2 应用退出的弹窗提示,参考代码如下

// this.MaskBool默认为false;
onBackPress() {  
   if(this.MaskBool) {  
     this.MaskBool= false;  
     return true;  
   }else{  
      uni.showModal({  
        title: '提示',  
        content: '是否退出?',  
        success: function(res) {  
            if (res.confirm) {  
                // 退出应用
                plus.runtime.quit();  
            } else if (res.cancel) {  
                console.log('用户点击取消');  
            }  
        }  
      });  
      return true  
   }  
},

Tips:

1 在onBackPress中不要调用 uni.navigateBack() ,会引发死循环的;
2 return false或者不做操作,都是做默认的返回;
3 H5端,顶部导航栏的返回键支持该函数,但手机的返回键及浏览器的返回键是不支持的,微信中也是一样的不支持。

相关文章

  • 处理app物理返回键逻辑

    用户在使用App时,对于返回功能的操作,往往习惯于用手机自带的返回键,例如,左滑,右滑,机身自带返回键等,当然iP...

  • 2019-07-09

    项目需要在HTML5 Android App中加入对返回键的处理,发现直接在Activity中加返回键处理代码不起...

  • 定制八:打开设置中的返回键

    OS: Android7.1 应用场景 Setting App 在没有物理按键和虚拟返回键的时候无法返回.不过 a...

  • React Native BackHandler exitApp

    React Native 监听android 物理返回键 根据文档,安卓back键的处理主要就是一个事件监听: 导...

  • React-Native-BackAndroid

    BackAndroid 物理返回键的使用 在android上,点击物理返回键时,通常会进行返回上个页面的操作,如果...

  • Hbuider返回键问题实际解决方案

    从Hbuider发展至今,web2app的返回键一直是个问题,大致问题如下: 1.物理返回键不是页面后退而是直接退...

  • vue cli 2.X APP 物理返回键问题处理

    场景:(vue cli2) app物理返回键在 tabbar 的页面按一次提示 :再按一次退出应用 ; 再按一次就...

  • cordova 物理返回键

    通常Android手机会提供几个物理按键,包括home键、菜单键、返回键、音量键 cordova - 实现点击返回...

  • cordova 物理返回键

    学习 cordova 物理返回键的使用 原始核心代码如下: registerBackButtonAction方法(...

  • iOS-JavaScript交互方案:网页监听APP返回键(go

    1.网页监听APP返回键(原生goback) 假设需求:当APP点击原生导航栏左上角返回键时,APP并不返回上级V...

网友评论

      本文标题:处理app物理返回键逻辑

      本文链接:https://www.haomeiwen.com/subject/rhkumltx.html