Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当您单击“返回主页”按钮或“最近的应用程序”退出应用程序时,如何暂停媒体播放器?_Android_Android Mediaplayer - Fatal编程技术网

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

Android 当您单击“返回主页”按钮或“最近的应用程序”退出应用程序时,如何暂停媒体播放器?,android,android-mediaplayer,Android,Android Mediaplayer,当我点击主页按钮或最近的应用程序退出应用程序时,我试图暂停媒体播放器,但这并没有发生。 下面是我的代码: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK) { MainActivity.mediaPlayer.pause(); } else if

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

 @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);
    }

只需覆盖
onPause()
onStop()


只需覆盖
onPause()
onStop()

这会有帮助的

当系统即将开始恢复以前的活动时调用。这通常用于将未保存的更改提交到持久数据、停止动画和其他可能消耗CPU的内容等。此方法的实现必须非常快,因为在该方法返回之前,下一个活动不会恢复。 如果活动返回到前端,则后跟
onResume()
;如果用户看不见,则后跟
onStop()

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

这会有帮助的

当系统即将开始恢复以前的活动时调用。这通常用于将未保存的更改提交到持久数据、停止动画和其他可能消耗CPU的内容等。此方法的实现必须非常快,因为在该方法返回之前,下一个活动不会恢复。 如果活动返回到前端,则后跟
onResume()
;如果用户看不见,则后跟
onStop()

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


重写activity onPause()并编写代码以停止其内部的mediaplayer。重写activity onPause()并编写代码以停止其内部的mediaplayer
@Override
protected void onPause() {
    if (mediaPlayer != null) {
        mediaPlayer.pause();

    }
}

@Override
protected void onStop() {
    if (mediaPlayer != null) {
        mediaPlayer.pause();

    }
}
@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();
    }
}