Как приостановить работу мультимедийного проигрывателя, когда вы нажимаете кнопку «Назад» или последние приложения для выхода из приложения? - PullRequest
1 голос
/ 05 апреля 2019

Я пытаюсь приостановить работу мультимедийного проигрывателя, когда нажимаю кнопку «Домой» или последние приложения для выхода из приложения, но этого не происходит.Ниже мой код для того же:

 @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 голосов
/ 05 апреля 2019

Это поможет

onPause()

Вызывается, когда система собирается возобновить предыдущее действие.Это обычно используется для фиксации несохраненных изменений в постоянных данных, остановки анимации и других вещей, которые могут потреблять ресурсы ЦП и т. Д. Реализации этого метода должны быть очень быстрыми, потому что следующее действие не будет возобновлено, пока этот метод не вернется.Затем следует либо 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();
    }
}
0 голосов
/ 05 апреля 2019

Просто переопределить onPause() и onStop()

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

    }
}

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

    }
}
...