Как приостановить активность, когда на всплывающее диалоговое окно вызова телефона ответили? - PullRequest
0 голосов
/ 15 октября 2019

Телефон Samsung может ответить на телефонный вызов в всплывающем диалоговом окне, но он не запускает метод onPause (), поэтому запись звука не может остановиться, как получить событие / триггер, если телефонный звонокответ

enter image description here

1 Ответ

0 голосов
/ 15 октября 2019

Управление контроллером проигрывателя при изменении фокуса аудио

@Override
        public void onAudioFocusChange(int focusChange) {
            switch (focusChange) {
                case AudioManager.AUDIOFOCUS_GAIN:
                    if (mPlayOnAudioFocus && !mPlayer.isPlaying()) {
                        play();
                    }
                    mPlayOnAudioFocus = false;
                    break;
                case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
                    //  setVolume(MEDIA_VOLUME_DUCK);
                    break;
                case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
                    try {
                        if (mPlayer.isPlaying()) {
                            mPlayOnAudioFocus = true;
                            pausePlayer();
                        }
                    } catch (Exception e) {
                    }
                    break;
                case AudioManager.AUDIOFOCUS_LOSS:
                    mAudioManager.abandonAudioFocus(this);
                    mPlayOnAudioFocus = false;
                    pausePlayer();
                    break;
            }
        }

Для проверки полного примера Пример

...