禁用活动中的电源按钮
我正在开发一款应用程序,其中有一项要求是不让用户使用电源按钮锁定屏幕或关闭Android设备,因此我必须禁用电源按钮并覆盖电源按钮功能,我也在互联网上搜索了很多次,但什么也找不到。我已经使用了这两段代码,但它仍然不适用于我。
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
Log.i("", "Dispath event power");
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
return true;
}
return super.dispatchKeyEvent(event);
}
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_POWER) {
// Back
moveTaskToBack(true);
return true;
}
else {
// Return
请帮我提前道谢。
解决方案
任何安卓应用都无法处理Power事件。Events of
电源按钮are handled in Framework level in Android architecture
。您无法停止framework
来调度事件,而是接受其调度。您可以从框架接收事件调度的结果,但不会阻止进程。
相关文章