Я хочу предоставить пользователям моего приложения возможность держать экран включенным с помощью WakeLock
.В своей основной деятельности я создал следующую функцию:
protected void processWakeLock(int pauseResume) {
switch (pauseResume) {
case STATE_RESUME:
if (mKeepScreenOn) {
wakeLock.acquire();
}
break;
case STATE_PAUSE:
if (wakeLock.isHeld()) {
wakeLock.release();
}
break;
}
}
В настоящее время я вызываю ее из своих переопределений onPause
и onResume
, так как я хочу убедиться, что не вызывает блокировкутелефон пользователя, когда он не использует мое приложение.Мое приложение имеет 3 других полноэкранных режима.Как лучше всего обеспечить, чтобы их WakeLock
переносился на все части моего приложения, при этом оставаясь безопасным для остальных телефонов.
Моя первая мысль - дублировать один и тот же фрагмент кода в каждом измоя деятельность, хотя это кажется большой плитой котла.Я также не могу использовать onStart
и onStop
, потому что видимость теряется, когда я переключаюсь на другое полноэкранное действие.Хотя, возможно, было бы лучше
Основываясь на диаграмме и информации, найденной здесь (http://developer.android.com/guide/topics/fundamentals.html), я не вижу лучшего способа применить блокировку.