【发布时间】:2014-03-04 09:42:33
【问题描述】:
我想知道是否可以覆盖android中的电源按钮?
我在 Stack Overflow 上阅读了很多帖子,有人说可以,有人说不行 (example)。
我想要实现的是 - 当用户使用我的应用程序时,他需要按 5 次锁定/电源按钮来锁定屏幕。我不想只覆盖锁定功能的开关功能。
是否有办法获取电源按钮回调?
我尝试了 WakeLock 并禁用了键盘保护,但它不符合我的目的。
我尝试了下面 cmets 部分中发布的 Shink 链接的以下代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
// do what you want with the power button
Toast.makeText(getApplicationContext(), "down", Toast.LENGTH_LONG).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
// do what you want with the power button
Toast.makeText(getApplicationContext(), "up", Toast.LENGTH_LONG).show();
return true;
}
return super.onKeyUp(keyCode, event);
}
仅当我按住电源按钮 2 秒钟时才会显示吐司消息。这是为什么呢?
是否可以覆盖锁定屏幕的电源按钮功能?或者有没有其他方法可以实现我想要做的事情?
【问题讨论】:
-
即使我正在寻找解决同一问题的方法,但找不到任何相关的东西。最终我不得不改变我的申请过程。虽然您可以捕获屏幕打开和屏幕关闭的事件。 stackoverflow.com/questions/19263661/…
-
感谢分享我去试试
-
@Shink 这肯定是我发现的新东西。感谢那。但在我的情况下它对我没有帮助
标签: android callback android-button keyevent