我有一个应用程序,当用户按下Android设备上的中心按钮时,我必须执行一些代码。我已经通过onKeyDown(int keyCode, KeyEvent event) / if (keyCode == KeyEvent.KEYCODE_BACK)
处理用户按下右手按钮(后退按钮),所以我假设按下中央按钮将以类似的方式处理。但经过进一步调查,似乎没有调用onKeyDown。所以我的问题是;如何拦截中央按钮?
P.S。令我尴尬的是,我甚至不确定中央按钮的名称是什么!
答案 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)。