Как отключить экран при получении определенных ключевых входов с помощью Java на Android?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как отключить экран при получении определенных ключевых входов с помощью Java на Android?

Сообщение Anonymous »

Я все еще изучаю разработку Android/Java, поэтому я все еще изучаю API и что можно сделать. До сих пор все работает, за исключением того, что каждый раз, когда он получает ввод ключа, он разбудит устройство Android - что хорошо для чего -то вроде открытия приложения, поскольку пользователь захочет увидеть экран в этом случае. Устройство Android пользователя, вероятно, будет в их кармане, большинство раз эти клавиши используются, поэтому пробуждение не идеально. Носимый Bluetooth в настоящее время отправляет фактические коды для игры/пауза, пропуск треков и т. Д. - однако я также попытался изменить эти ключи на что -то еще, например, F2, и попытаться запустить его программно в рамках службы. Иногда это имеет странные эффекты, хотя, как и клавиши громкости, больше не работают, если я использую что-то вроде Audiomanager.adjustvolume (audiomanager.adjust_raise, 0); , потому что тогда API ожидает, что я обращаюсь All Treach-Triggers, и игра/Plight Spot-Device и Play-Device и т. Д. И. Проблема.

Код: Выделить всё

performGlobalAction(GLOBAL_ACTION_LOCK_SCREEN);
Это дает задержку, однако, поэтому, вероятно, не лучший вариант и чувствует себя довольно неуклюжим.

На мой взгляд - Powermanager, используя Wakelock, но обычно это для поддержания экрана , . Мне удалось заставить экран отключить, если датчик близости активируется, когда нажата на носитель с помощью следующего: < /p>
powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, "myApp:WakeLock");
wakeLock.acquire(2*1000L /*2 seconds*/);
< /code>
Однако я все еще пытаюсь выяснить, как это работает. Экран обычно просыпается после того, как через 2 секунды истечет срок срока действия Wakelock, что имеет смысл, но я не уверен, как правильно во время/после ключи-я не уверен в том, что просто поместить таймер Wakelock в более высокую стоимость, особенно если он будет работать с батареей вниз, если Wakelock является активным в течение более длительных периодов. Я также проверил флаг powermanager.partial_wake_lock < /code>, но это просто разбудит экран. /> < /li>
< /ul>
Любой вход будет оценен, особенно если бы я мог каким -то образом получить опцию датчика близости - таким образом, на экране на экране будет гипотетически, если пользователь активно использует устройство, но автоматически останется в их кармане.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... on-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»