Как работать с аппаратной кнопкой «Назад» на платформе Tizen с помощью библиотеки EFL

Я использую библиотеку EFL для разработки приложений для платформы Tizen. Мне нужно реализовать обработчик событий для аппаратной кнопки "Назад".

В нативном Tizen API это делается довольно просто. Но я понятия не имею, как это сделать в библиотеке EFL.

Я попытался сделать это следующим образом:

evas_object_event_callback_add( obj, EVAS_CALLBACK_KEY_DOWN, on_key_down, NULL );

Но это не работает.

Кто-нибудь может мне помочь?


person Kirill    schedule 02.08.2013    source источник


Ответы (4)


Вместо EVAS_CALLBACK_KEY_DOWNandevas_object_event_callback_add()`,

  • использовать ea_object_event_callback_add
  • используйте EA_CALLBACK_BACK для кнопки возврата
  • и EA_CALLBACK_MORE для кнопки меню, но вам нужно включить один файл заголовка, к сожалению, я забыл имя файла заголовка, что-то вроде efl-util.h или что-то в этом роде, вы можете сделать поиск в файлах заголовков
person user3158343    schedule 03.01.2014

Насколько я знаю, дело в том, что EFL использует очереди для обработки событий. Это означает, что обратные вызовы вызываются один за другим: первый должен вернуть PASS_ON (или что-то в этом роде) для следующего обратного вызова для запуска того же события.

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

person Sergey Kanaev    schedule 03.08.2013

Пытаться

Ecore_Event_Handler *handler;
handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, hardware_key_down_cb, NULL);

В функции обратного вызова hardware_key_down_cb() проверьте имя ключа 'XF86Stop' Ecore_Event_Key для обработки события клавиши возврата.

person user3709710    schedule 05.06.2014

используйте eext_object_event_callback_add(Evas_Object * obj,eext_callback_type type,callback_fun,NULL) и в функции обратного вызова вы можете написать свое требование

person manoj    schedule 04.03.2015