Android программно включить экран

Android: как включить и выключить экран программно?

Прежде чем отмечать этот пост как «дубликат», я пишу этот пост, потому что никакая другая почта не имеет решения проблемы.

Я пытаюсь выключить устройство, а затем через несколько минут или сменить датчик, снова включите его.

Отключить показания дисплея

Я могу отключить экран, используя:

Мне не удалось отключить экран, используя метод wl.release().

Включить проверку дисплея

Мое первое предположение, как показано ниже, не работает. Ничего не происходит, экран остается выключенным.

Я также попытался использовать wakelocks, без успеха.

Наконец, я пробовал следующее, без результата.

В целом, я не получаю никаких ошибок в консоли для любого из этих методов. Мой тестовый текст «Экран должен быть включен», находится на экране, когда я включаю устройство с помощью кнопки питания. Это показывает, что код должен работать. Пожалуйста, ответьте только, если вы протестировали код, кажется, что многие из функций, таких как params.screenBrightness = -1 , не работают так, как должны, согласно sdk.

ОТВЕТЫ

Ответ 1

Я собираюсь предположить, что вы хотите, чтобы это действовало, пока ваше приложение находится на переднем плане.

Не выключает экран в традиционном смысле. Это делает экран настолько тусклым, насколько это возможно. В стандартной платформе существует предел того, насколько он может быть тусклым; если ваше устройство действительно позволяет экрану полностью отключиться, то это определенная особенность реализации этого устройства, а не поведение, которое вы можете рассчитывать на разных устройствах.

Фактически использование этого в сочетании с FLAG_KEEP_SCREEN_ON означает, что вы никогда не позволяете экрану отключиться (и, следовательно, устройство переходит в режим с низким энергопотреблением), даже если конкретное устройство позволяет вам установить яркость экрана на полный -off. Имейте это в виду. Вы будете использовать гораздо больше энергии, чем если бы экран был действительно выключен.

Теперь, чтобы вернуть экран к обычной яркости, просто установите значение яркости:

Я не могу объяснить, почему это не заменит ранее установленное значение 0. В качестве теста вы можете попытаться установить принудительную полную яркость, чтобы заставить эту конкретную яркость:

Это определенно работает. Например, приложения Google Книги используют это, чтобы вы могли установить яркость экрана при использовании книги, а затем при обычной выдержке вернуться к обычной яркости.

Чтобы отладить, вы можете использовать «окно dumpsys оболочки adb», чтобы увидеть текущее состояние вашего окна. В данных для вашего окна он скажет вам текущие LayoutParams, которые были установлены для него. Убедитесь, что вы действительно на самом деле находитесь.

И снова FLAG_KEEP_SCREEN_ON — это отдельная концепция; он и яркость не оказывают прямого воздействия друг на друга. (И не было бы причин снова устанавливать флаг при отмене яркости, если вы уже установили его при установке яркости на 0. Флаг останется установленным до тех пор, пока вы его не измените.)

Ответ 2

Я написал этот метод, чтобы включить экран после блокировки экрана. Он отлично работает для меня. Попробуйте it-

И назовите этот метод из onResume() .

Ответ 3

Я бы предложил следующее:

Флаг ACQUIRE_CAUSES_WAKEUP объясняется следующим образом:

Обычные блокировки от бодрствования фактически не включают подсветку. Вместо, они заставляют освещение оставаться включенным после его включения (например, из активность пользователя). Этот флаг заставит экран и/или клавиатуру немедленно включается, когда приобретается WakeLock. Типичное использование будет для уведомлений, которые важны для пользователя, чтобы видеть немедленно.

Кроме того, убедитесь, что у вас есть следующее разрешение в файле AndroidManifewst.xml:

Читайте также:  Андроид для авео т250

Ответ 4

Привет, надеюсь, это поможет:

Ответ 5

//Файл манифеста пользователя

Ответ 6

Вы уверены, что запросили правильное разрешение в вашем файле манифеста?

Вы можете использовать класс AlarmManager 1, чтобы сбить намерение, которое начинает вашу деятельность, и получает блокировку слежения. Это включит экран и сохранит его. Освобождение wakelock позволит устройству самостоятельно спать.

Вы также можете взглянуть на использование PowerManager, чтобы установить устройство в режим сна: http://developer.android.com/reference/android/os/PowerManager.html#goToSleep(long)

Ответ 7

Вот успешный пример реализации того же самого, на устройстве, которое поддерживает более низкие значения яркости экрана (я тестировал на планшете Allwinner Chinese 7 «с API15).

Если кто-то еще это попробует, комментарий PLS ниже, если он работал/не работал и устройство Android API.

Ответ 8

Лучший способ сделать это (с использованием корневых устройств):

Теперь у нас есть две функции:

Извините за мой плохой английский.

Ответ 9

Это работает над Marshmallow

Ответ 10

Чтобы включить экран:

Возврат к режиму по умолчанию: просто очистите флаг FLAG_KEEP_SCREEN_ON

Ответ 11

Если ваше приложение является системным приложением, вы можете использовать PowerManager.goToSleep() для выключения экрана, вам требуется специальное разрешение

перед использованием goToSleep() вам нужно использовать отражение так же, как:

Теперь вы можете использовать goToSleep(), чтобы выключить экран.

Это то, что происходит при нажатии клавиши питания для выключения экрана.

Ответ 12

У меня не было бы надежды на «пробуждение экрана» в действии. Если экран выключен, действие, вероятно, находится в состоянии паузы и не должно содержать никакого кода.

При просыпании возникает проблема блокировки экрана. Я не знаю, как любое приложение может автоматически обойти lockscreen.

Вам следует рассмотреть возможность запуска фоновых задач в службе, а затем с помощью диспетчера уведомлений отправить уведомление, когда все обнаружено. Уведомление должно предоставлять какое-либо предупреждение устройства (пробуждение экрана, значок уведомления, уведомление и т.д.). При нажатии на уведомление он может запустить намерение начать свою деятельность.

Вы также можете попытаться запустить действие непосредственно из службы, но я действительно не знаю, включит ли это экран или обойдется экран блокировки.

Ответ 13

Что касается документации Android, ее можно достичь, используя следующую строку кода:

Я добавил это в мой метод onCreate , и он отлично работает.

В ссылке вы найдете разные способы достижения этого и общее объяснение.

Ответ 14

или позвоните по телефону

на родительском представлении.

Ответ 15

В соответствии с Android API 28 и выше вам нужно сделать следующее, чтобы включить экран

Ответ 16

Бывают случаи, когда экран необходимо отключить ПОЛНОСТЬЮ. Если энергопотребление не очень важно для вашего приложения, класс PowerManager может использоваться в следующих случаях:

  • Используйте PowerManager.goToSleep(), чтобы отключить отображение экрана.
  • Используйте PowerManager.wakeUp(), чтобы включить экран.
  • Используйте PowerManager.isScreenOn(), чтобы получить состояние включения/выключения экрана. Кроме того, для этой цели используйте PowerManager.isInteractive() или Display.getState().

В следующем примере кода показано, как реализовать это решение:

Данный код был протестирован на встроенном устройстве под управлением Android 4.4.2 (API уровня 19).

Обратите внимание, что некоторые из этих методов API не могут быть найдены в документации API Android, и вам необходимо указать соответствующие разрешения, такие как DEVICE_POWER.

Источник

Программно включить экран не отключая блокировку

Программно включить NumLock
Народ как собственно Программно включить NumLock . Куда рыть ? Спасибо заранее 😉

Читайте также:  Any radio для андроида

Включить выключить свет программно
Народ кинул на сцену компонент Light со свойством Directional Light теперь как его включить.

Как программно включить компьютер?
Как программно выключить и включить через n секунд включить компьютер?

Включить программно LED (фонарик)
Здравствуйте! Подскажите каким образом возможно включить программно фонарик. Есть код .

Как включить монитор программно?
Делаю программу для отключения/подключения устройств. При комбинации клавишь должен отключается.

Программно включить/выключить CapsLock
Хочу сделать при нажатии на кнопку включалась caps lock или отключалась где ошибка не работает.

Как программно включить клавиатуру?
Есть код отключения rkfdbfnehs:Shell ‘rundll32 keyboard,disable’ А как программно включить.

Программно отключить и включить клавиатуру
Привет! как программно отк./вкл клавиатура

Datagridview включить/выключить правку программно
Есть 2-а radiobutton. При true одного datagridview можна редактировать (менять значение в ячейках).

Как программно включить индикатор NumLock?
Нужно программно включить индикатор NumLock. Нижеприведенный код почемуто не работает. Может кто в.

Источник

Android: как включить и выключить экран программно?

Прежде чем отмечать этот пост как «дубликат», я пишу этот пост, потому что никакая другая почта не имеет решения проблемы.

Я пытаюсь выключить устройство, а затем через несколько минут или сменить датчик, включите его снова.

Выключить тесты дисплея

Я могу отключить экран, используя:

Мне не удалось отключить экран, используя метод wl.release ().

Включение дисплея

Мое первое предположение, как следует, не работает. Ничего не происходит, экран остается выключенным.

Я также попытался использовать wakelocks, без успеха.

Наконец, я пробовал следующее, без результата.

В общем, я не получаю никаких ошибок в консоли для любого из этих методов. Мой тестовый текст «Экран должен быть включен», находится на экране, когда я включаю устройство с помощью кнопки питания. Это показывает, что код должен работать. Пожалуйста, ответьте только, если вы протестировали код, кажется, что многие из таких функций, как params.screenBrightness = -1 , не работают так, как должны, согласно sdk.

Я собираюсь предположить, что вы хотите, чтобы это действовало, пока ваше приложение находится на переднем плане.

Не выключает экран в традиционном смысле. Это делает экран настолько тусклым, насколько это возможно. В стандартной платформе существует ограничение на то, насколько он может быть тусклым; Если ваше устройство фактически позволяет экрану полностью отключиться, то это определенная особенность реализации этого устройства, а не поведение, которое вы можете рассчитывать на всех устройствах.

Фактически использование этого в сочетании с FLAG_KEEP_SCREEN_ON означает, что вы никогда не позволяете экрану отключиться (и, следовательно, устройство переходит в режим с низким энергопотреблением), даже если конкретное устройство позволяет установить яркость экрана на полную мощность. Имейте это в виду. Вы будете использовать гораздо больше энергии, чем если бы экран был действительно выключен.

Теперь, чтобы вернуть экран к обычной яркости, нужно просто установить значение яркости:

Я не могу объяснить, почему это не заменит ранее установленное значение 0. В качестве теста вы можете попытаться установить принудительную полную яркость, чтобы заставить эту конкретную яркость:

Это определенно работает. Например, приложения Google для книг используют это, чтобы вы могли настроить яркость экрана при использовании книги, а затем при обычной настройке вернуться к обычной яркости.

Чтобы отладить, вы можете использовать «окно dumpsys оболочки adb», чтобы увидеть текущее состояние вашего окна. В данных для вашего окна он скажет вам текущие LayoutParams, которые были установлены для него. Убедитесь, что вы действительно на самом деле стоите.

Читайте также:  Layout swiping in android

И снова FLAG_KEEP_SCREEN_ON – отдельная концепция; Он и яркость не оказывают прямого воздействия друг на друга. (И не было бы причин снова устанавливать флаг при отмене яркости, если вы уже установили его при установке яркости на 0. Флаг будет оставаться установленным до тех пор, пока вы его не измените.)

Я написал этот метод, чтобы включить экран после блокировки экрана. Он отлично работает для меня. Попробуй-

И назовите этот метод из onResume() .

Я бы предложил следующее:

Флаг ACQUIRE_CAUSES_WAKEUP объясняется следующим образом:

Обычные блокировки от бодрствования фактически не включают подсветку. Вместо этого они заставляют подсветку оставаться включенными после включения (например, из пользовательской активности). Этот флаг заставит экран и / или клавиатуру сразу включаться, когда приобретается WakeLock. Типичное использование было бы для уведомлений, которые важны для пользователя, чтобы видеть немедленно.

Привет, надеюсь, это поможет:

Вы уверены, что запросили правильное разрешение в вашем файле манифеста?

Вы можете использовать класс AlarmManager 1, чтобы скрыть намерение, которое начинает вашу деятельность, и получает блокировку слежения. Это включит экран и сохранит его. Освобождение wakelock позволит устройству самостоятельно спать.

Вы также можете взглянуть на использование PowerManager, чтобы установить устройство в режим сна: http://developer.android.com/reference/android/os/PowerManager.html#goToSleep(long)

Вот успешный пример реализации одной и той же вещи на устройстве, поддерживающем более низкие значения яркости экрана (я тестировал на планшете Allwinner Chinese 7 «, на котором работает API15).

Если кто-то еще попытается это сделать, комментарий PLS ниже, если он работал / не работал и устройство Android API.

// Файл пользовательского манифеста

Лучший способ сделать это (используя укороченные устройства):

Теперь у нас есть две функции:

Извините за мой плохой английский.

У меня не было бы надежды на «пробуждение экрана» в этой деятельности. Если экран выключен, активность, вероятно, находится в состоянии паузы и не должна содержать какой-либо код.

Когда вы просыпаетесь, возникает проблема блокировки экрана. Я не знаю, как любое приложение может автоматически обойти lockscreen.

Вам следует рассмотреть возможность запуска фоновых задач в службе, а затем с помощью диспетчера уведомлений отправить уведомление, когда все обнаружено. Уведомление должно предоставлять оповещение о каком-либо устройстве (пробуждение экрана, значок уведомления, уведомление и т. Д.). При нажатии на уведомление он может начать намерение начать свою деятельность.

Вы также можете попытаться запустить операцию прямо из службы, но я действительно не знаю, включит ли это экран или обойдется экран блокировки.

Что касается документации Android, ее можно достичь, используя следующую строку кода:

Я добавил это в мой метод onCreate и он отлично работает.

По ссылке вы найдете разные способы достижения этого и общее объяснение.

Чтобы включить экран:

Вернуться к экрану по умолчанию: просто снимите флаг FLAG_KEEP_SCREEN_ON

Бывают случаи, когда экран необходимо отключить ПОЛНОСТЬЮ. Если энергопотребление не очень важно для вашего приложения, класс PowerManager можно использовать в следующих случаях:

  • Используйте PowerManager.goToSleep (), чтобы отключить отображение экрана.
  • Используйте PowerManager.wakeUp (), чтобы включить экран.
  • Используйте PowerManager.isScreenOn (), чтобы получить состояние включения / выключения экрана. В качестве альтернативы для этой цели используйте PowerManager.isInteractive () или Display.getState ().

В следующем примере кода показано, как реализовать это решение:

Вышеупомянутый код был протестирован на встроенном устройстве под управлением Android 4.4.2 (API уровня 19).

Обратите внимание, что некоторые из этих методов API не могут быть найдены в документации API Android, и вам необходимо указать соответствующие разрешения, такие как DEVICE_POWER.

Источник

Оцените статью