uni-app如何禁止android的三大金刚按键 即底部的菜单 home和返回键

发布于 1周前 作者 wuwangju 来自 Uni-App

uni-app如何禁止android的三大金刚按键 即底部的菜单 home和返回键

救命救命!uniapp 如何禁止 android 的三大金刚按键,就是底部的菜单 home 和返回

如题,公司要求app打开之后无法退出和切换其他app,所以要禁止掉一切可以退出的按钮功能,求教怎么搞

19 回复

你这需求太流氓了吧 还有这样做的?


同问,恶心死我了

plus.navigator.hideSystemNavigation();

这个我也看到了,只是把虚拟按键给隐藏了,但是真实的那些按键还是能退出的

我目前安卓屏中使用了该方法,但是底部有留白,应当怎么去除呢,请问

回复 2***@qq.com: ios的上滑返回桌面可以禁用吗

回复 2***@qq.com: 那不是打开了app后就只能通过关机来关闭你的应用了

回复 朱小: 对的

回复 朱小: 或者页面上有一个倒计时,时间到了就默认退出

同问啊, 有解决方式么

请问有解决方法了吗

同问,有解决方法了吗

这样搞,就算上架也让别人给你举报下架

有这种需求的,这是大屏端终端自助服务应用,不能够让用户退出、切换应用的,请问你解决了吗?我现在也不知道如何解决,求解!

app设置为 桌面应用

同问,有解决方法了吗,难搞呀

有哪位道友解决了吗 ?

请问有大佬实现了吗,同问同问嘿嘿

在uni-app中,直接禁止Android的三大金刚按键(即底部的菜单键、Home键和返回键)是比较复杂且通常不被推荐的做法,因为这些按键是Android系统提供的基本导航功能,禁止它们可能会影响用户体验和系统行为。然而,对于某些特定需求,比如防止用户通过返回键退出应用,我们可以通过监听这些按键事件并做相应处理来间接实现类似效果。

下面是一个处理返回键事件的示例代码,通过重写onBackPress方法来拦截返回键操作:

App.vue中监听返回键事件

<script>
export default {
  onLaunch() {
    // #ifdef APP-PLUS
    plus.key.addEventListener('backbutton', this.onBackPress, false);
    // #endif
  },
  onShow() {
    // 可选:每次页面显示时执行的操作
  },
  onHide() {
    // 可选:每次页面隐藏时执行的操作
  },
  methods: {
    onBackPress(e) {
      const pages = getCurrentPages();
      const currentPage = pages[pages.length - 1];
      const route = currentPage.route;

      // 判断当前页面是否为首页,如果不是首页则返回上一页
      if (route !== 'pages/index/index') {
        uni.navigateBack();
      } else {
        // 如果是首页,可以弹出一个提示框询问用户是否退出应用
        uni.showModal({
          title: '提示',
          content: '确定退出应用吗?',
          success: res => {
            if (res.confirm) {
              plus.runtime.quit(); // 退出应用
            }
          }
        });
      }
      // 阻止默认的返回行为
      return true;
    }
  },
  onUnload() {
    // #ifdef APP-PLUS
    plus.key.removeEventListener('backbutton', this.onBackPress);
    // #endif
  }
}
</script>

注意事项

  1. Home键和菜单键:由于安全和用户体验的考虑,Android系统不允许应用直接禁用Home键和菜单键。
  2. 返回键处理:上述代码示例中,我们通过监听backbutton事件来处理返回键。如果用户在首页点击返回键,会弹出一个提示框询问是否退出应用。
  3. 平台差异#ifdef APP-PLUS 指令用于条件编译,确保代码只在App平台上生效。
  4. 用户体验:强制阻止用户退出应用可能会降低用户体验,建议谨慎使用。

总之,虽然直接禁止Android的三大金刚按键不可行,但可以通过监听和处理特定按键事件来实现类似的需求。

回到顶部