我需要在android中捕获电源按键。我尝试了以下
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(KeyEvent.KEYCODE_POWER == event.getKeyCode()){
//some operations
}
return super.onKeyDown(keyCode, event);
}
但是在按下Power Key控件时使用此代码没有进入onKeyDown方法。
长按电源键,此方法被调用。但是我需要单身 按我需要捕捉此事件
有人可以帮忙吗?
答案 0 :(得分:2)
有很多线程,你必须添加权限。
<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
答案 1 :(得分:0)
您可能缺少清单中允许应用程序覆盖电源键默认行为的权限,如果您已处理事件以防止默认行为,则返回一些内容也很重要。
<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
还有进一步的讨论here
所以你的代码是:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(KeyEvent.KEYCODE_POWER == event.getKeyCode()){
return true;//If event is handled, falseif
}
return super.onKeyDown(keyCode, event);
}
如果您处理了该事件,请返回true。如果您想允许该活动 由下一个接收者处理,返回false。