Ответ 1
Я думаю, что это должно сделать это:
getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Подробнее см. API.
Я использовал:
getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Как вернуться в состояние по умолчанию (без сохранения)?
Я думаю, что это должно сделать это:
getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Подробнее см. API.
Если вместо этого вы установите флаг android: keepScreenOn = "true" (документация) только на представлениях, которые необходимо сохранить на экране, вам не нужно будет reset флаг вручную.
Другой подход
getWindow().setFlags(this.getWindow().getFlags() & ~WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
и вы также можете установить android:keepScreenOn="true"
в корневом представлении в xml.