Как я могу обнаружить аппаратное нажатие кнопки на циферблате Android Wear? - PullRequest
0 голосов
/ 26 апреля 2018

Я разрабатываю циферблат для Android Wear и хотел бы использовать аппаратные кнопки часов (при их наличии) для запуска некоторых функций. В документации сказано, что это возможно для приложений (https://developer.android.com/training/wearables/ui/multi-function).

@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
  if (event.getRepeatCount() == 0) {
    if (keyCode == KeyEvent.KEYCODE_STEM_1) {
      // Do stuff
      return true;
    } else if (keyCode == KeyEvent.KEYCODE_STEM_2) {
      // Do stuff
      return true;
    } else if (keyCode == KeyEvent.KEYCODE_STEM_3) {
      // Do stuff
      return true;
    }
  }
  return super.onKeyDown(keyCode, event);
}

Но моя проблема в том, что для циферблата я использую класс:

    class MyWatchFace extends Gles2WatchFaceService

И onKeyDown (), по-видимому, доступен только для класса, который распространяется на AndroidApplication. Я что-то упустил, или это просто невозможно для циферблата?

1 Ответ

0 голосов
/ 27 апреля 2018

Вы правы. В настоящее время нет способа фиксировать события с помощью многофункциональных кнопок в WatchFaceService.

...