如何在Android中使用onKeyDown捕获应用程序切换键?
我正在尝试捕获 android 3.1 和 4.0 上的应用程序切换键和 home 键,但它似乎不起作用。
这就是我正在做的事情
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (KeyCode == KeyEvent.KEYCODE.KEYCODE_APP_SWITCH && event.getRepeatCount() == 0)
{
Log.d ("onkeydown","app switch key");
}
else if (KeyCode == KeyEvent.KEYCODE.KEYCODE_HOME && event.getRepeatCount() == 0)
{
Log.d ("onkeydown","home key");
}
//EDIT:
return super.onKeyDown(keyCode, event);
}
我的 log.d 语句没有打印。是否可以捕获这 2 个密钥?
使用正确的返回语句更新了代码
I am trying to capture app switch key and home key on android 3.1 and 4.0 but it doesn't seem like its working.
here is what I am doing
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (KeyCode == KeyEvent.KEYCODE.KEYCODE_APP_SWITCH && event.getRepeatCount() == 0)
{
Log.d ("onkeydown","app switch key");
}
else if (KeyCode == KeyEvent.KEYCODE.KEYCODE_HOME && event.getRepeatCount() == 0)
{
Log.d ("onkeydown","home key");
}
//EDIT:
return super.onKeyDown(keyCode, event);
}
My log.d statement is not printed. Is it possible to capture these 2 keys?
updated code with correct return statement
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
嗯。
嗯,不,你不能。
http://developer.android.com/reference/android/view/KeyEvent.html
Um.
Well, no, you can't.
http://developer.android.com/reference/android/view/KeyEvent.html
可以使用反射来实现。
它位于类
android.os.ServiceManager
下,具有aidlcom.android.internal.statusbar.IStatusBarService
和它包含toggleRecentApps
方法,也可以尝试这个这里的方法
It can be achieved using reflection.
It is under class
android.os.ServiceManager
having an aidlcom.android.internal.statusbar.IStatusBarService
and it containstoggleRecentApps
methodAnd also try this method here
缺少 super.onKeyDown(keyCode, event) ,我认为您应该尝试这样做:
使用 switch 语句执行相同的操作:
The super.onKeyDown(keyCode, event) is missing, i think you should try this:
Doing the same using switch statement: