uni-app 更新3.99后安装完应用 退出重新打开 使用plus.screen.lockOrientation切换锁定横屏无效 手机旋转到横向才执行 3.98版本无问题
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是正常的可以锁定横屏
这个问题下个版本会修复,临时解决方案:
在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