现在,我想实现一个这样的功能:在一个活动中,屏蔽所有硬件按钮,如HOME、VOLUME_UP、VOLUME_DOWM。但是,只有POWER键不能屏蔽。有办法吗?
问问题
432 次
1 回答
1
您无法拦截 Android 中的某些键,例如电源和主页,例如无法拦截 Home 键,因为这将允许任何恶意应用程序覆盖该功能。
android.intent.category.HOME
您可以拦截主页键的唯一方法是,如果您的应用程序是在清单中使用的主页应用程序替换本身。
您可以按如下方式捕获其他键,例如音量增大/减小和返回
public boolean dispatchKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
if (action == KeyEvent.ACTION_UP) {
//handle the key event
}
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
if (action == KeyEvent.ACTION_DOWN) {
//handle the key event
}
return true;
default:
return super.dispatchKeyEvent(event);
}
}
阅读 Android 开发者博文中的以下文章
于 2012-07-04T12:10:35.770 回答