我使用EFL库为Tizen平台开发应用程序。我需要为硬件按钮“Back”实现事件处理程序。
在原生Tizen API中,它非常简单。但是我不知道如何在EFL库中做到这一点。
我尝试使用以下方式执行此操作:
evas_object_event_callback_add( obj, EVAS_CALLBACK_KEY_DOWN, on_key_down, NULL );
但它不起作用。
有人可以帮助我吗?
答案 0 :(得分:1)
而不是EVAS_CALLBACK_KEY_DOWN and
evas_object_event_callback_add()`,
ea_object_event_callback_add
EA_CALLBACK_BACK
作为后退按钮EA_CALLBACK_MORE
用于菜单按钮
但是你需要包含一个头文件,遗憾的是我忘记了头文件名
efl-util.h或其他什么东西,你可以在头文件中搜索答案 1 :(得分:0)
AFAIK的事情是EFL使用队列来处理事件。这意味着逐个调用回调:第一个应该返回PASS_ON(或其他东西),以便运行同一个事件的下一个回调。
因此,可能存在另一个不允许发送事件的回调。
答案 2 :(得分:0)
尝试
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用于处理返回键事件。
答案 3 :(得分:0)
使用eext_object_event_callback_add(Evas_Object * obj,eext_callback_type类型,callback_fun,NULL) 在回调功能中,您可以编写您的要求