2

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

PS 令我尴尬的是,我什至不知道中心按钮叫什么!

4

2 回答 2

3

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

If 也是核心应用质量指南

UX-N3 在任何时候按下 Home 按钮都会导航到设备的主屏幕。

您可以检测到您的应用程序正在使用onStop().

在 Android 3.0 之前,可以onPause()不点击onStop(). 因此,如果您也针对预蜂窝设备,您可能还需要查看该onPause()事件。

于 2012-11-08T11:08:11.593 回答
0

您寻找的中心按钮很可能是KEYCODE_DPAD_CENTER。那个通常位于手机的中心。至少年纪大的有,但已经不常见了。通常也不会出现在桌子上。

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

于 2012-11-08T11:14:00.520 回答