У меня есть приложение Xamarin Forms , которое создает фоновый звук и, следовательно, приложение может работать, когда устройство находится в режиме блокировки и / или когда экран не активен (спящий режим экрана).
У меня есть необходимость предотвратить обновление экрана, пока главная страница Xamarin Forms (ContentPage) не видна и не активна. Другими словами, мне нужно определить, отключен ли экран (в спящем режиме), если устройство заблокировано, а также предпочтительно, когда главная страница в данный момент не активна и не видна.
С помощью форм Xamarin как определить, не активен ли экран и / или находится ли устройство в режиме блокировки?
Дополнительная информация
- Я попытался использовать Xamarin.Essentials и проверить свойство ScreenLock.IsActive . Это не сработало, поскольку IsActive всегда было false , даже когда устройство находилось в режиме блокировки. Протестировано на устройстве iOS (iPhone).
- Причина, по которой мне нужно предотвращать обновления экрана, заключается в том, что я использую CocosSharp и периодически размещаю анимации CCParticle на экране. Когда экран не активен, новые анимации CCParticle могут продолжать добавляться, но существующие анимации не запускаются до установленной продолжительности и, таким образом, никогда не «истекают». Результатом является постоянно растущее число анимаций CCParticle на (скрытом) экране, которые постоянно потребляют ресурсы.