【发布时间】:2019-04-14 12:18:54
【问题描述】:
我有一个产生背景音频的 Xamarin Forms 应用程序,因此该应用程序可以在设备处于锁定模式和/或屏幕未处于活动状态(屏幕睡眠)时运行。
当 Xamarin Forms MainPage(一个 ContentPage)不可见且处于活动状态时,我需要阻止屏幕更新。换句话说,我需要检测屏幕是否被禁用(在睡眠模式下),设备是否被锁定,并且最好是 MainPage 当前不活动且不可见。
使用 Xamarin Forms,我如何检测屏幕是否处于非活动状态和/或设备是否处于锁定模式?
其他信息
- 我尝试使用 Xamarin.Essentials 并检查 ScreenLock.IsActive 属性。这不起作用,因为即使设备处于锁定模式,IsActive 总是 false。在 iOS 设备 (iPhone) 上测试。
- 我需要阻止屏幕更新的原因是因为我正在使用 CocosSharp 并且我会定期在屏幕上放置 CCParticle 动画。当屏幕不活动时,可以继续添加新的 CCParticle 动画,但现有的动画不会运行到它们设定的持续时间,因此永远不会“过期”。结果是(隐藏的)屏幕上不断增加的 CCParticle 动画数量不断消耗资源。
【问题讨论】:
标签: ios xamarin.forms cocossharp