gpt4 book ai didi

Android:听电源键按下

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:48 25 4
gpt4 key购买 nike

我目前正在尝试监听何时按下电源按钮。最后,我想在按下电源按钮两次时运行一些代码,以检查屏幕是锁定还是解锁。我目前有这个:

  @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);//prevent phone from being locked
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

switch (keyCode) {
case KeyEvent.KEYCODE_POWER:
{
Toast.makeText(getBaseContext(), "Power button pressed", Toast.LENGTH_LONG).show();

return true;
}
case KeyEvent.KEYCODE_MENU:
Toast.makeText(getBaseContext(), "Menu Button Pressed", Toast.LENGTH_LONG).show();

return true;
}
return super.onKeyDown(keyCode, event);
}

该代码可以很好地为菜单键事件干杯,但对电源键事件没有任何作用。有什么想法吗?

最佳答案

虽然我无法捕捉到硬件键,但我最终可以通过使用广播接收器来猜测按下了电源键,该接收器会监听屏幕是关闭还是打开。我用过:

            if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
//do something
}

else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
//do something else
}

我能够通过在几秒钟后超时的计数来更加确定电源按钮是否被按下。通过这种方式,我让用户按下电源按钮三次,以确保行为正常。

关于Android:听电源键按下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7682016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com