如何拦截服务中按下的硬键?

时间:2010-07-28 18:53:17

标签: android service keyevent

是否有任何方法可以通过使用服务来拦截硬键以启动活动?

换句话说:是否可以处理服务中的KeyEvents?

2 个答案:

答案 0 :(得分:4)

除了当前活动的应用程序之外,没有任何通用方法可以侦听硬件键的关键事件。

只能通过广播Intent检测到CAMERA按钮事件。

当按下CAMERA按钮时,ACTION_CAMERA_BUTTON会被广播,并且不会被前景活动拦截:developer.android.com/reference/android/content/…

这意味着如果前台中的应用程序没有按下按键,您只能检测到按下。

答案 1 :(得分:2)

是。您可以使用InputMethodService捕获KeyEvents。硬键有自己的密钥代码,就像软键一样。

查看谷歌制作的SoftKeypad示例。