【发布时间】:2011-12-02 16:18:09
【问题描述】:
我目前正在尝试监听按下电源按钮的时间。最终,我希望在按下电源按钮两次时运行一些代码,以检查屏幕是锁定还是解锁。我目前有这个:
@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);
}
代码可以很好地为菜单键事件敬酒,但对电源键事件没有任何作用。有什么想法吗?
【问题讨论】:
-
没有用于此的 API,但您可以使用反射来实现它。 stackoverflow.com/a/31872330/3496570