java - 检测开/关按键 Android

标签 java android listener keylistener

如何检测按下的电源按钮或锁屏按钮?当我的游戏以这种方式暂停时,它可能会导致游戏崩溃,因为当它发生时我需要暂停一个线程。

最佳答案

来自 Christian 对 this question 的回答:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
        // do what you want with the power button
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

但是 Jake Basile 是对的。除非您有充分的理由在按下电源按钮时做一些特殊的事情,否则您应该使用标准的 Android 生命周期函数。

按下电源按钮时,它会调用应用程序的 onPause() 方法,当您解锁设备时,它会调用 onResume()。这是您应该管理线程以防止应用程序崩溃的地方。

documentation on Activity's将为您详细介绍生命周期函数、调用时间以及应如何使用它们。 enter image description here

关于java - 检测开/关按键 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6848518/

相关文章:

java - 删除netbeans中的鼠标监听器

java - 将监听器添加到包含 CheckedTextView 和按钮的自定义 ListView

java - 使用二维数组显示由方法填充的数据

java - postman 的 Springboot @PutMapping 405 错误

java - SQLite onUpgrade() 挫败感

android - BottomNavigationView 文本在更改时闪烁

Android,如何为 View 组设置动画监听器?

java - 电子邮件地址验证+ java正则表达式

java - 由于 ViewPostIME,按钮不执行任何操作

java - public void - Button.setEnabled 与 if 语句适合我的情况吗?