Я хочу, чтобы иметь возможность захватывать ключевые события внутри службы, которую я пишу. Я могу сделать это внутри деятельности без проблем, но все мои попытки получить эту работу в службе потерпели неудачу. Ключ, который я хотел захватить (глобально), - кнопка BACK, но если это не возможно, любая (аппаратная) кнопка предлагает предложения HTC Desire.Как захватить ключевые события внутри службы?
ответ
Да, деятельность Android получает только KeyEvents
, когда у них есть фокус.
Единственный способ «глобально» захватить нажатие кнопки «Назад» создает InputMethod, чтобы вы могли перехватывать события жестких клавиш. Помните, что использование вашего собственного InputMethod
не позволит вам использовать пользовательские клавиатуры, например, Swiftkey.
Вы пытались связаться с HTC по этому вопросу?
Это не мое устройство (у меня есть Samsung Galaxy I9000 - у которого есть свои проблемы;)), но это один из моих друзей. Он искал некоторые форумы, обнаружил, что у некоторых людей такая же проблема, но пока нет решения (я не знаю, связался ли он с HTC). Но после того, как Android был открыт, чтобы мы могли решить проблемы, с которыми мы столкнулись (так я думал), идея заключалась в том, чтобы сделать именно это. ;) – user388759
Услуга, не имеет пользовательского интерфейса, так что не получает входной сигнал от пользователя.
Теперь, если у вас была деятельность, которая управляла службой, вы могли бы сделать услугу чем-то особенным, когда во время вашей активности нажата клавиша «назад».
Вы можете транслировать KeyEvent из рамок и обработки вещания в вашей службе. Но для этого вам нужно изменить код.
Если вы хотите просто зафиксировать событие изменения громкости независимо от того, нажата ли кнопка громкости, этот ответ будет полезен.
any way to detect volume key presses or volume changes with android service?
- 1. Как захватить ключевые события на простом div?
- 2. Как захватить ключевые события из Intent или BroadcastReceivers
- 3. Как я могу захватить ключевые события для прессы?
- 4. Ключевые события Комбинация
- 5. ключевые события
- 6. Как фиксировать ключевые события
- 7. Чтение строк или как захватить ключевые события и сделать внутри ящика
- 8. Слушайте ключевые события внутри партитур AngularJS
- 9. Как захватить специальные события?
- 10. Как захватить события аутентификации?
- 11. захватить ключевые штрихи в окнах
- 12. как захватить ключевые повторы с помощью javascript
- 13. Как захватить ключевые комбо в javascript?
- 14. Как написать ключевые события, когда курсор внутри текстового поля
- 15. Ключевые события: ProcessCmdKey
- 16. Горячие клавиши? Ключевые события?
- 17. JTable захватывает ключевые события?
- 18. Перехват NSMenu ключевые события
- 19. Пользовательские ключевые события
- 20. сервисы и ключевые события
- 21. Ключевые события в Короне
- 22. Ключевые события в Javascript
- 23. Как захватить элемент внутри холста?
- 24. Как захватить контекст? опрос/события
- 25. Вызов службы внутри события жизненного цикла
- 26. Как отправить ключевые события как слова
- 27. pygame События и ключевые события KEYDOWN
- 28. Ключевые события, не запущенные внутри iframe для Firefox
- 29. Производить клавиатуру События ключевые хиты
- 30. Catch Ключевые события из библиотеки
Почему вы хотите, чтобы захватить его в '' обслуживания? – Macarse
Во-первых: Я новичок в программировании на Android, и я думал, что активность получает только KeyEvents, когда у него есть фокус. Если это не так, мне не нужна услуга строго. Я хочу написать приложение, которое может деактивировать блокировку экрана, которая была активирована датчиком приближения при вызове. Это необходимо, потому что HTC Desire иногда «забывает», чтобы снова включить экран правильно, я хотел сделать это, когда нажата любая кнопка (чтобы можно было повесить трубку, не снимая батарею;)). – user388759