当您单击返回首页或最近的应用程序退出应用程序时,如何暂停媒体播放器?

时间:2019-04-05 13:39:34

标签: android android-mediaplayer

当我单击“主页”按钮或最近使用的应用程序退出应用程序时,我试图暂停媒体播放器,但这没有发生。 下面是我的相同代码:

 @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_BACK)
        {
            MainActivity.mediaPlayer.pause();
        }
        else if(keyCode==KeyEvent.KEYCODE_HOME )
        {
            MainActivity.mediaPlayer.pause();
        }
        else if(keyCode==KeyEvent.KEYCODE_ALL_APPS)      {
            MainActivity.mediaPlayer.pause();
        }
        else if(keyCode == KeyEvent.KEYCODE_APP_SWITCH)
        {
            MainActivity.mediaPlayer.pause();
        }
        return super.onKeyDown(keyCode, event);
    }

2 个答案:

答案 0 :(得分:0)

只需覆盖version: '3' services: ms3_executive_back: image: ms3_executive_backend ports: - "5001:5001" volumes: - ./executive_backend:/app restart: always onPause()

onStop()

答案 1 :(得分:0)

这会有所帮助

onPause()

在系统将要开始恢复上一个活动时调用。通常,此方法用于对持久性数据提交未保存的更改,停止动画以及可能消耗CPU的其他操作,等等。此方法的实现必须非常快,因为在此方法返回之前,下一个活动将不会恢复。 如果活动返回到最前面,则紧跟onResume(),如果对用户不可见,则紧跟onStop()

onResume()

在活动将开始与用户互动时调用。此时,您的活动位于活动堆栈的顶部,而用户输入也进入了活动堆栈。 始终后跟onPause()

@Override
protected void onPause() {
    super.onPause();
    if(mediaPlayer!=null)
    {
        //pause
        mediaPlayer.pause();
    }
}
//resume activity
@Override
protected void onResume() {
    super.onResume();
    if(mediaPlayer!=null)
    {
        //resume
        mediaPlayer.start();
    }
}