【Unity】微信小游戏适配之屏幕常亮
屏幕常亮
Unity:
Screen.sleepTimeout = SleepTimeout.NeverSleep;
微信:
wx.setKeepScreenOn(Object object) 功能描述 设置是否保持常亮状态。仅在当前小程序生效,离开小程序后设置失效。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
keepScreenOn | boolean | 是 | 是否保持屏幕常亮 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码 wx.setKeepScreenOn({ keepScreenOn: true })
Unity-微信:
WeChatWASM.SetKeepScreenOnOption onKeepScreenOnOption = new WeChatWASM.SetKeepScreenOnOption() { keepScreenOn = true, fail = (result) => { Debug.LogError(result.errMsg); } }; WeChatWASM.WX.SetKeepScreenOn(onKeepScreenOnOption);
上面设置在安卓端一切正常,但是iOS(lj)部分会有问题
系统特性:iOS 系统在后台处理时,出于省电考虑,通常会自动取消屏幕常亮的设置。这并非微信小游戏的特有问题,而是 iOS 系统的默认行为。
解决方案:
可以尝试在小游戏回到前台时再次调用 wx.setKeepScreenOn
设置屏幕常亮。
WeChatWASM.WX.OnShow(OnWXShowCallBack);
private void OnWXShowCallBack(WeChatWASM.OnShowListenerResult result) { WXSetKeepScreenOn(); }
解决!!