6***@qq.com
6***@qq.com
  • 发布:2022-02-11 20:24
  • 更新:2023-12-21 16:20
  • 阅读:693

为什么UNI小程序在安卓上面,需要点击两次返回可以返回

分类:uni小程序sdk

UNi小程序在安卓手机上面,需要按两次手机实体的返回按钮才能关闭,手势也是需要划两次才可以,这是为什么,IOS一次就可以,下面有一行“再按一次退出应用”的提示

2022-02-11 20:24 负责人:无 分享
已邀请:
t***@vip.qq.com
yinxiaodong

yinxiaodong

同问,不知道怎么配置成按一次就返回

piaoyi_UI

piaoyi_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

uniapp项目一般不会,h5+会

大工程

大工程

为什么我iOS没办法手势退出小程序

  • 6***@qq.com (作者)

    我之前测试的时候发现,ios 有时候会无法退出,原因是 uniSDK 不响应了,后来我把 unisdk 的版本和 uniapp 的版本全部改了重新打包就可以了,不知道你是不是这个问题,

    2023-12-08 16:12

  • 大工程

    回复 6***@qq.com:

    我没办法手势退出,是因为通过push方式推入的ViewController,但是根Controller不是用的NavigationViewController

    2023-12-21 16:14

大工程

大工程

源码:

export function navigateBack ({  
  from = 'navigateBack',  
  delta,  
  animationType,  
  animationDuration  
}) {  
  const pages = getCurrentPages()  

  const currentPage = pages[pages.length - 1]  
  if (  
    currentPage.$vm &&  
    currentPage.$vm.$options.onBackPress &&  
    currentPage.$vm.__call_hook &&  
    currentPage.$vm.__call_hook('onBackPress', {  
      from  
    })  
  ) {  
    return  
  }  
 .....  
}  

从这个方法可以看出, 每次调用navigateBack,都会先回调当前页面的onBackPress方法,如果方法返回true,则会跳过默认的双击退出逻辑,因此可以通过复写此逻辑,达到点击返回键退出小程序功能。

实现代码如下:

// 此处是vue3的写法  
onBackPress(options => {  
  // 这句是退出小程序  
    plus.runtime.quit()  
    // 必须返回true,才能拦截返回事件  
    return true;  
})  

这种方式只针对Android双击退出问题,iOS不回调。

要回复问题请先登录注册