java - android - 如何在推送 "power button"后运行一些代码

标签 java android android-studio

我有一个应用程序可以在应用程序打开时播放一些音乐文件,但是当我按下电源按钮时,由于某种原因声音一直在播放。有没有办法覆盖电源按钮,以便在按下时也能停止媒体播放器?

MediaPlayer mp;

protected void onCreate(Bundle savedInstanceState) {
...
...
mp = MediaPlayer.create(this, mAudio[0]);
mp.start();
...
...
}

我想在按下电源按钮时调用 mp.stop()

最佳答案

覆盖 onKeyDown并检查它是否是 KEYCODE_POWER

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
        // Stop the media player here
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

关于java - android - 如何在推送 "power button"后运行一些代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38431949/

相关文章:

java - 多次调用一个方法

android - android :theme is aplied to a specific button时应用程序崩溃

java - 当我使用 ListView 设置字符串数组时,我会强制关闭

java - 如何检查两个 Box2d 物体是否在任何时候碰撞/重叠?

java - 两个物体之间的欧氏距离

java - 我有一个将值存储到 double[][] 实例变量中的构造函数。我想在我的主函数中使用双数组作为变量

android - 启动新的撰写项目时出错 java.lang.AbstractMethodError

android - 如何在 Android Studio 2 中查找未翻译的字符串

java - 为什么 void 函数有返回值?

android - 如何跨多个项目共享单个库源