[英]How to pause media player when you click button back home or recent apps to exit app?
當我單擊“主頁”按鈕或最近使用的應用程序退出應用程序時,我試圖暫停媒體播放器,但這沒有發生。 下面是我的相同代碼:
@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()
@Override
protected void onPause() {
if (mediaPlayer != null) {
mediaPlayer.pause();
}
}
@Override
protected void onStop() {
if (mediaPlayer != null) {
mediaPlayer.pause();
}
}
這會有所幫助
在系統即將開始恢復上一個活動時調用。 通常,此方法用於對持久性數據提交未保存的更改,停止動畫以及可能消耗CPU的其他操作,等等。此方法的實現必須非常快,因為在此方法返回之前,下一個活動將不會恢復。 如果活動返回到最前面,則緊隨其后的是onResume()
如果對用戶不可見,則緊隨其后的是onStop()
。
當活動將開始與用戶互動時調用。 此時,您的活動位於活動堆棧的頂部,而用戶輸入也進入了活動堆棧。 始終跟隨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();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.