Событие кнопки «Домой» в HTC Smart, доставлено в мое собственное приложение? - PullRequest
1 голос
/ 11 июля 2011

Я хочу получить событие для моего приложения, когда кто-то нажимает кнопку «Домой»: Stock HTC Smart photo

(Серебристая кнопка со стрелкой, указывающей влево - это кнопка «Домой» на HTC Smart.)

Однако, когда я нажимаю кнопку, никакое событие вообще не приходит в мое приложение. Если я подключаю системный регистратор, я вижу, что сама операционная система Brew MP что-то обнаруживает, но не приходит в мое приложение.

[CORE] CoreDaemon_HandleEvent: 111
[CORE] CoreDaemon_HandleEvent: 112

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

Я подозреваю, что функция [ISHELL_RegisterNotify][2] может быть тем, что я ищу, но я не знаю, как ее использовать. Я попробовал:

ISHELL_RegisterNotify(piShell, AEECLSID_OF_MY_APP, AEECLSID_CORE, NMASK_SHELL_KEY |(NOTIFIER_VAL_ANY << 16));

Это не сработало, ни это:

ISHELL_RegisterNotify(piShell, AEECLSID_OF_MY_APP, AEECLSID_CORE, ~0);

Я как бы надеялся, что последний раз принесет мне все "основные" события, но ни один из этих двух не имел никакого значения.

1 Ответ

0 голосов
/ 20 июля 2011

Приложение сначала получит EVT_KEY с wParam = 63620, а затем сразу получит событие EVT_APP_SUSPEND.

Следовательно, насколько я понимаю, «Домашняя кнопка» не может быть использована каким-либо осмысленным образом приложениями Brew для ввода.

...