Способ достижения этого заключается в использовании обратного вызова onUserLeaveHint()
из Framework.
Пример, приведенный в документации, противоположен тому, что вы пытаетесь сделать, но просто переверните логическое значение .;)
Возможно, вы захотите включить логику, которая переключает активность в режим PIP вместо перехода в фоновый режим.Например, Google Maps переключается в режим PIP, если пользователь нажимает кнопку «Домой» или «Последние» во время навигации по приложению.Вы можете поймать этот случай, переопределив onUserLeaveHint ():
source: https://developer.android.com/guide/topics/ui/picture-in-picture
@Override
public void onUserLeaveHint () {
if (iWantToBeInPipModeNow()) {
enterPictureInPictureMode();
}
}
То, что делает метод iWantToBeInPipModeNow()
, действительно работает на 2-вас, ноВы можете перехватить это и выйти из PiP (если вы в нем).
Вы также можете убедиться, что ваши методы возврата / остановки также обеспечивают правильную обработку PiP для вашего варианта использования.