uni-app 更新3.99后安装完应用 退出重新打开 使用plus.screen.lockOrientation切换锁定横屏无效 手机旋转到横向才执行 3.98版本无问题

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

uni-app 更新3.99后安装完应用 退出重新打开 使用plus.screen.lockOrientation切换锁定横屏无效 手机旋转到横向才执行 3.98版本无问题

开发环境 版本号 项目创建方式
Windows Win10 HBuilderX

操作步骤:

后台退出应用,重新打开app,在onLaunch中使用plus.screen.lockOrientation(“landscape-primary”)锁定横屏,无反应,只能手机旋转方向才真正切换横屏,此问题在3.98是正常的可以锁定横屏

预期结果:

应正常切换锁定横屏

实际结果:

未正常切换锁定横屏

bug描述:

后台退出应用,重新打开app,在onLaunch中使用plus.screen.lockOrientation(“landscape-primary”)锁定横屏,无反应,只能手机旋转方向才真正切换横屏,此问题在3.98是正常的可以锁定横屏


3 回复

这个问题下个版本会修复,临时解决方案: 在app 首页的 onLoad() 函数里调用 plus.screen.lockOrientation(“landscape-primary”)


什么时候发更新啊

uni-app 更新到 3.99 版本后,plus.screen.lockOrientation 方法在切换锁定横屏时出现延迟或无效的问题,可能是由于新版本中某些 API 的调整或兼容性问题导致的。以下是一些可能的解决方案和排查步骤:


1. 检查 API 使用方式

确保 plus.screen.lockOrientation 的使用方式正确。例如:

plus.screen.lockOrientation("landscape-primary"); // 锁定为横屏

如果需要解锁屏幕方向,可以使用:

plus.screen.unlockOrientation();

2. 检查权限配置

确保在 manifest.json 中正确配置了屏幕方向权限。例如:

{
  "plus": {
    "screen": {
      "orientation": ["portrait-primary", "landscape-primary", "portrait-secondary", "landscape-secondary"]
    }
  }
}

3. 检查设备兼容性

某些设备可能存在兼容性问题,建议在多个设备上测试,确认是否是特定设备的问题。


4. 延迟执行

如果问题是由于 API 调用时机不当导致的,可以尝试延迟执行 lockOrientation 方法。例如:

setTimeout(() => {
  plus.screen.lockOrientation("landscape-primary");
}, 500);

5. 降级版本

如果问题确实是由 3.99 版本引入的,且暂时无法解决,可以考虑降级到 3.98 版本。使用以下命令降级:

npm install @dcloudio/uni-app@3.98.0
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!