如何拦截中央按钮按下

时间:2012-11-08 11:05:49

标签: android

我有一个应用程序,当用户按下Android设备上的中心按钮时,我必须执行一些代码。我已经通过onKeyDown(int keyCode, KeyEvent event) / if (keyCode == KeyEvent.KEYCODE_BACK)处理用户按下右手按钮(后退按钮),所以我假设按下中央按钮将以类似的方式处理。但经过进一步调查,似乎没有调用onKeyDown。所以我的问题是;如何拦截中央按钮?

P.S。令我尴尬的是,我甚至不确定中央按钮的名称是什么!

2 个答案:

答案 0 :(得分:3)

无法拦截该密钥(如果您正在谈论主页按钮) 它是一个操作系统功能,可以在短按时将用户带到他的启动器,并在长按时将其带到多任务菜单。

如果还是 Core-app Quality Guideline

  

UX-N3在任何位置按Home键导航到主页   设备的屏幕。

您可以检测到的是使用onStop()将您的应用程序发送到后台。

在Android 3.0之前,可以直接从onPause()杀死活动而不会点击onStop()。因此,如果您也定位蜂窝前设备,您可能还需要查看onPause()事件。

答案 1 :(得分:0)

您寻找的中心按钮很可能是KEYCODE_DPAD_CENTER。那通常是手机的中心。至少较旧的有它,但它不再是常见的事情。通常也不会出现在桌子上。

对于大多数UI元素,该按钮具有单击当前事物的默认行为。因此,对于在您的应用中使用dpad导航的用户,请尽量不要破坏该功能(并从onKey...返回false)。