Метод onKeyPreIme (int, KeyEvent) типа MyClass должен переопределять или реализовывать супертип

#android #overriding #onkeydown #implements #supertype

#Android #переопределение #onkeydown #реализует #супертип

Вопрос:

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

Я пытаюсь использовать метод onKeyPreIme, потому что я читал, что onKeyDown() и другие связанные методы иногда будут использоваться ПОСЛЕ того, как система Android выполнит действие по умолчанию (возможно, редко, но возможно).

Я сделал свой код расширяющим View вместо Activity, и это позволило onKeyPreIme работать, но ни один из других кодов не будет работать в этот момент, потому что для этого мне нужно было расширить Activity. Я также пытался реализовать KeyEvent.Обратный вызов, но это ничего не меняет. Я проверил свои настройки в Eclipse, и он разрабатывается на основе java 1.6, и мой плагин для Android полностью обновлен, как и мой Eclipse. Eclipse, который у меня есть, — это Eclipse IDE для разработчиков Java, а также Eclipse IDE для разработчиков Java EE и Eclipse Classic. Интересно, будет ли какой-либо из них отличаться?

Изначально я создавал этот проект в Eclipse, поэтому он не был импортирован откуда-либо еще, поэтому я знаю, что это не проблема.

 @Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
//do my work here
return super.onKeyPreIme(keyCode, event);
}
  

Я пытался не переопределять, но, конечно, это ничего не дает, и я также получаю «Метод onKeyPreIme(int, KeyEvent) не определен для типа Activity» для ‘return super.onKeyPreIme»

Я в недоумении, что делать, чтобы заставить onKeyPreIme работать.

Если я не смогу заставить его работать, будут ли какие-либо недостатки в использовании onKeyDown (и onKeyUp и onKeyLongPress) вместо этого?.

У кого-нибудь есть идеи о том, как заставить OnKeyPreIme работать должным образом?

Ответ №1:

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

Комментарии:

1. Можете ли вы рассказать, как реализовать OnKeyPreIme для получения ввода с программной клавиатуры Android и принимает ли он также сенсорный ввод?