Есть ли способ ограничить функцию "картинка в картинке", чтобы она работала только внутри приложения и не сохранялась в фоновом режиме?

Есть ли способ разрешить функционирование PiP только тогда, когда пользователь находится внутри приложения?

В идеале, пользователь может запускать PiP, но когда он запускает фоновое приложение, PiP закрывается, и фоновое воспроизведение продолжается.

0 ответов

Способ достижения этого заключается в использовании onUserLeaveHint() обратный вызов из рамок.

Пример, приведенный в документации, противоположен тому, что вы пытаетесь сделать, но просто переверните логическое значение.;)

Возможно, вы захотите включить логику, которая переключает активность в режим PIP вместо перехода в фоновый режим. Например, Google Maps переключается в режим PIP, если пользователь нажимает кнопку "Домой" или "Последние" во время навигации по приложению. Вы можете поймать этот случай, переопределив onUserLeaveHint():

источник: https://developer.android.com/guide/topics/ui/picture-in-picture

@Override
public void onUserLeaveHint () {
    if (iWantToBeInPipModeNow()) {
        enterPictureInPictureMode();
    }
}

Какой метод iWantToBeInPipModeNow() Действительно, это действительно up-2-you, но вы можете перехватить это и выйти из PiP (если вы в нем).

Вы также можете убедиться, что ваши методы возврата / остановки также обеспечивают правильное обращение с PiP для вашего варианта использования.

Другие вопросы по тегам