Перейти к содержанию
Fire Monkey от А до Я
  • 0

[Android] Как нажать кнопку пультом?


Kitty

Вопрос

Подскажите, пожалуйста, вот по такому вопросу:

Программа для андроида работает на планшете. Кнопки нажимаются касанием – реагируют как надо. Все работает.

Теперь программа скопировано на андроид hd медиаплеер Minix Neo X7 mini с такой же конфигурацией железа как у планшета (плеер подсоединен к телевизору). Программа запускается нормально. Однако теперь не понятно как нажать кнопку в программе? Нажимала все кнопки на пульте плеера, добраться до моей в программе кнопки старта не получается. Что надо сделать при проектировании андроид приложения, чтобы можно было нажимать кнопки управляя программой с пульта?

Спасибо.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

До одной из кнопок удалось добраться добавив в событие onShow формы передачу фокуса этой кнопке. До других кнопок добраться пультом так и не удалось. Нажимаю вправо влево фокус не передается между кнопками. :(

Ссылка на комментарий
  • 0

В IOS, например, чтобы в приложение передавались события нажатия кнопок плеера (плей, стоп, вперед, назад, и т.д.) нужно зарегистрировать обрабочтик событий ремоут контрол, ну и соответственно написать сам обработчик. Мб с ведром тоже самое... Но это лишь предположение.

Изменено пользователем xenon54
Ссылка на комментарий
  • 0

попробуй повесить обработку нажатых кнопок на форме OnKeyDown и смотри какие коды покажет какая кнопка в Key и KeyChar. 

Изменено пользователем haword
Ссылка на комментарий
  • 0
  • Администраторы

Добрый день,
 
Есть вариант для инфракрасных контроллеров: 

Infrared transmitters
When running on a device that includes an infrared (IR) transmitter, you can now transmit IR signals using theConsumerIrManager APIs. To get an instance of ConsumerIrManager, call getSystemService() with CONSUMER_IR_SERVICEas the argument. You can then query the device's supported IR frequencies with getCarrierFrequencies() and transmit signals by passing your desired frequency and signal pattern with transmit().
You should always first check whether a device includes an IR transmitter by calling hasIrEmitter(), but if your app is compatible only with devices that do have one, you should include a <uses-feature> element in your manifest for"android.hardware.consumerir" (FEATURE_CONSUMER_IR).

 

Либо нужно использовать RemoteController

Ссылка на комментарий
  • 0

Самый простой способ - подсоединила беспроводную мышь к плееру и счастье почти наступило. :)

Почти, потому что прокрутка ListBox не реагирует на колесико мыши. Все остальное работает как надо.

В других программах из маркета (например тектовый редактор) колесико мыши работает. :ph34r:

Ссылка на комментарий
  • 0

У меня есть данный девайс, прекрасно работает с беспроводными мышью и клавиатурой. Может быть клавиатура спасет положение? (хотя, конечно, лучше уж разобраться в вопросе поглубже)

Ссылка на комментарий
  • 0
а на кнопки пульта что не реагирует событие OnKeyDown?

 

Я больше не эксперементировала с кодом. Оставила все как есть.

Короче счастье наступило. Для прокрутки в ListBox не надо было крутить колесиком мыши. Надо было просто нажать и удерживать кнопку и тянуть - короче как пальцем.

Вообщем не большая инвестиция в беспроводную мышь, решила мой вопрос. :)

Программа теперь полностью управляема на плеере.

Ссылка на комментарий
  • 0

Проверил на своей приставке UHD200 - по FormKeyDown приходят только цифровые клавиши (0-9), стрелки вверх, вниз, влево, вправо - соответствуют кодам на pc клавиатуре, и приходит код от кнопки назад. На этом все. Как использовать способы предложенные Brovin Yaroslav, не понял совсем, буду гуглить в надежде на прояснение.

Цветные кнопки пульта игнорируются полностью, и что самое обидное, самая главная кнопка "Ok" тоже никак себя не проявляет. Даже пробовал форму с единственной кнопкой, принудительно в onShow устанавливал ей фокус, но реакции ноль.Смена ControlStyle на Platform тоже не помогает. 

Хотя все не дельфи приложения адекватно реагируют на кнопку - установил десяток различных приложений, все контролы переключаются нормально.

И еще проблема - в fmx под андроид нет визуального подтверждения фокуса на контроле. Сделал приложение которое по таймеру устанавливает фокус нескольким контролам, но на экране никакой разницы нет, все контролы мертвые.

Вывод пока неутешительный - писать что то под андроидные тв-приставки в Дельфи можно, но управлять приложениями с штатного пульта можно только переключая в режим мышки, что конечно жуткий ад.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...