Използвах:
getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Как да възобновя към състояние по подразбиране (без запазване)?
Използвах:
getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Как да възобновя към състояние по подразбиране (без запазване)?
Мисля, че това трябва да го направи:
getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Вижте API за подробности.
Ако вместо това зададете флаг android:keepScreenOn="true" (документация) само в изгледите, които трябва да поддържат екрана включен, няма да е необходимо да нулирате флага ръчно.
Друг подход
getWindow().setFlags(this.getWindow().getFlags() & ~WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
и можете също да зададете android:keepScreenOn="true"
в основния изглед в xml.
Директно от документацията:
Забележка: Не е необходимо да изчиствате флага FLAG_KEEP_SCREEN_ON, освен ако вече не искате екранът да остане включен във вашето работещо приложение (например, ако искате екранът да изтече след определен период на неактивност). Мениджърът на прозорци се грижи да гарантира, че правилните неща се случват, когато приложението отиде на заден план или се върне на преден план. Но ако искате изрично да изчистите флага и по този начин да позволите на екрана да се изключи отново, използвайте clearFlags(): getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON).