Android 有没有一种方法可以限制画中画只在应用程序中工作,而在后台工作时不持久?

Android 有没有一种方法可以限制画中画只在应用程序中工作,而在后台工作时不持久?,android,exoplayer,picture-in-picture,android-picture-in-picture,Android,Exoplayer,Picture In Picture,Android Picture In Picture,是否有任何方法只允许用户在应用程序中使用PiP功能 理想情况下,用户可以启动PiP,但当他们对应用程序进行后台处理时,PiP将关闭,后台播放将继续。实现这一点的方法是使用框架中的onUserLeaveHint()回调 文档中给出的示例与您试图做的相反,但只需翻转布尔值即可 您可能希望包含将活动切换到PIP模式而不是进入后台的逻辑。例如,如果用户在应用程序导航时按下home或recents按钮,GoogleMaps将切换到PIP模式。您可以通过重写onUserLeaveHint()来捕获这种情况:

是否有任何方法只允许用户在应用程序中使用PiP功能


理想情况下,用户可以启动PiP,但当他们对应用程序进行后台处理时,PiP将关闭,后台播放将继续。

实现这一点的方法是使用框架中的
onUserLeaveHint()
回调

文档中给出的示例与您试图做的相反,但只需翻转布尔值即可

您可能希望包含将活动切换到PIP模式而不是进入后台的逻辑。例如,如果用户在应用程序导航时按下home或recents按钮,GoogleMaps将切换到PIP模式。您可以通过重写onUserLeaveHint()来捕获这种情况:

资料来源:

方法
iwanttobeinpimpodenow()
的作用实际上取决于你自己,但是你可以拦截它,然后退出PiP(如果你在其中)

您还可以确保back/stop方法也可以确保针对您的用例适当地处理PiP

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