Я использую флаг keepScreenOn для предотвращения режима глубокого сна (после 30 минут бездействия) в моем приложении для ношения. Но это также отключить режим окружающей среды. Можно ли отключить глубокий сон, не отключая AlwaysOn? Я пытался использовать wakelock.accuire () каждые 20 минут для сброса таймера сна, но он не работал.
Runnable wakeUpRunnable = new Runnable() {
@Override
public void run() {
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
PowerManager.WakeLock mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "myApp:WakeLock");
mWakeLock.acquire(60 * 1000L /*1 minute*/);
mWakeLock.release();
handler.postDelayed(wakeUpRunnable, 20 * 60 * 1000L /*20 minutes*/);
}
};