Программно определять наличие аппаратных клавиш вызова / отбоя - PullRequest
2 голосов
/ 02 июня 2010

Один из моих клиентов хочет метод кода, который возвращает логическое значение. Истинно, если в телефоне Android есть аппаратные красные / зеленые клавиши вызова / отбоя, и ложно, если нет.

Сонетинг вот так:

public void keyFeedbackFromInput(KeyEvent event) {
  if (event.getAction() == KeyEvent.ACTION_DOWN 
        && (event.getFlags() & KeyEvent.FLAG_VIRTUAL_HARD_KEY) != 0) {
    // perform your logic here
  }
}

Но не при нажатии клавиши, как в приведенном выше фрагменте кода. Он должен определить это заранее, если у телефона есть физические красные / зеленые клавиши или виртуальные.

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

1 Ответ

0 голосов
/ 02 июня 2010

РЕДАКТИРОВАНИЕ:

Нет звонка, чтобы получить такую ​​информацию. Вы можете попробовать использовать словарь с ключом Build.MODEL. Что-то вроде:

/* Create the dictionary */
private HashMap<String, Boolean> redGreenKeys = new HashMap<String, Boolean>();
redGreenKeys.put("Milestone", false);


public Boolean hasRedGreenButtons() {
    Boolean ret = redGreenKeys.get(Build.MODEL);
    if ( ret == null )
        return false;

    return ret;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...