【问题标题】:How to handle hardware button "Back" on Tizen platform using EFL library如何使用 EFL 库在 Tizen 平台上处理硬件按钮“返回”
【发布时间】:2013-08-02 11:15:11
【问题描述】:
我使用 EFL 库为 Tizen 平台开发应用程序。我需要为硬件按钮“返回”实现事件处理程序。
在本机 Tizen API 中,它非常简单。但我不知道如何在 EFL 库中做到这一点。
我尝试使用以下方式:
evas_object_event_callback_add( obj, EVAS_CALLBACK_KEY_DOWN, on_key_down, NULL );
但它不起作用。
谁能帮帮我?
【问题讨论】:
标签:
event-handling
tizen
tizen-native-app
efl
【解决方案1】:
而不是 EVAS_CALLBACK_KEY_DOWNandevas_object_event_callback_add()`,
- 使用
ea_object_event_callback_add
- 使用
EA_CALLBACK_BACK 作为返回按钮
- 和
EA_CALLBACK_MORE 用于菜单按钮
但是你需要包含一个头文件,不幸的是我忘记了头文件名
有些东西efl-util.h什么的,你可以在头文件里搜索一下
【解决方案2】:
AFAIK 事情是 EFL 使用队列来处理事件。这意味着回调被一个一个调用:第一个应该返回 PASS_ON(或其他东西),以便下一个回调运行相同的事件。
因此,可能存在另一个不允许调度事件的回调。
【解决方案3】:
试试
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 来处理返回键事件。
【解决方案4】:
使用 eext_object_event_callback_add(Evas_Object * obj,eext_callback_type 类型,callback_fun,NULL)
在回调函数中你可以写下你的需求