Hbuilder打包App隐藏系统状态栏

场景:vue制作的混合app打包在安卓平板运行

初始化plus对象

created() {
    document.addEventListener('plusready', this.plusReady, false)  
},
methods: {
	plusReady () {
      var main = plus.android.runtimeMainActivity();  
      var windowMe = main.getWindow();  
      plus.android.importClass(windowMe);  
      var decorView = windowMe.getDecorView();  
      plus.android.importClass(decorView);  
      var View = plus.android.importClass("android.view.View");  
      decorView.setSystemUiVisibility(  
          View.SYSTEM_UI_FLAG_LAYOUT_STABLE |  
          View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |  
          View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |  
          View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |  
          View.SYSTEM_UI_FLAG_FULLSCREEN |  
          View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    },
}

这样进入到软件中默认显示全屏,从设备底部或顶部滑动可以调出系统状态栏,就解决了每次退出平板就要使用鼠标或重启设备的问题

问题修复补充
1、当操作过系统的导航栏之后,导航栏就会一直显示,问题修复

document.addEventListener("visibilitychange", () => {
  if(document.hidden) {
  } else {
    this.plusReady();
  }
});

2、调用过输入法之后导航栏也会一直显示,问题修复

document.addEventListener("click", () => {
  this.plusReady();
})

3、检测设备运行终端,在windows设备上报错:plus is not defined

if (this.isMobile()) {
	console.log("安卓设备")
}else{
	console.log("windows")
}

isMobile() {
  let terminal = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)
  return terminal;
},



版权声明:本文为qq_37332614原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。