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