Простите, это сводит меня с ума, и я постараюсь опубликовать что-то разборчивое в своем кипящем гневе.
Я видел пару постов о том, как проверить, заблокирован ли экран, но ни один из них не работал для меня. Все это обнаруживает, выключен ли фактический экран (нет, если он заблокирован).
У меня есть игра, в которой играет музыка. Когда кнопка блокировки нажата, она продолжает играть. У меня изначально была остановка музыки в OnStop, но после блокировки приложение перезапустилось, и музыка в итоге запустилась снова.
Затем я добавил KeyboardHidden | ориентацию в манифест. Это позволяет избежать перезапуска приложения, но OnStop, кажется, больше не вызывают.
Я попытался с помощью PowerManager проверить, включен ли экран, что работает, но не помогает. (Я могу заставить музыку остановиться на этом, но как только вы снова нажмете кнопку блокировки, музыка снова начнет восстанавливаться)