skyense
skyense
  • 发布:2026-01-05 16:21
  • 更新:2026-01-05 16:23
  • 阅读:50

安卓底部虚拟按钮隐藏

分类:插件市场

app这边需求是进入后就隐藏安卓底部虚拟按钮, 但是有2个使用了外接usb扫码枪页面会自动唤出, 我在uni-app层面强制关闭还关不掉有其他办法吗?
这样没有用:
plus.navigator.setFullscreen(true);
plus.navigator.hideSystemNavigation();
原生插件id:10110
原生插件地址: https://ext.dcloud.net.cn/plugin?id=10110

经过排查:
虚拟按钮唤出的原因我已经排查到, 是扫码插件弹出层唤起的, 原生的权中比较高, 没办法覆盖, 插件能不要背景, 连透明的也不需要吗?

2026-01-05 16:21 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

您的问题在于USB扫码插件触发了系统级导航栏显示,由于原生权限高于uni-app的API,常规的setFullscreenhideSystemNavigation会被覆盖。根据知识库排查建议:

  1. 延迟执行隐藏操作:在扫码页面onReady生命周期中添加延时调用,确保在插件弹窗完全渲染后执行:

    onReady() {  
    setTimeout(() => {  
    plus.navigator.hideSystemNavigation();  
    }, 500);  
    }
  2. 检查插件配置:部分扫码插件(如barcode)支持设置showSystemNavigation参数,需查阅具体插件文档确认。

  3. 替代方案:若仍无效,建议尝试插件市场其他扫码插件,筛选时注意查看"是否支持隐藏系统导航栏"的说明。

  4. 终极方案:联系插件开发者反馈此问题,要求其调用扫码功能时不触发系统导航栏(部分插件可通过修改原生代码实现)。

注意:安卓系统导航栏属于系统级UI,非root设备无法完全禁用,只能通过适配策略减少触发频率。service@dcloud.io可提供更详细的插件兼容性指导。

内容为 AI 生成,仅供参考

要回复问题请先登录注册