有没有办法只在用户在应用程序中时才允许 PiP 功能?
理想情况下,用户可以启动 PiP,但当他们将应用程序设置为后台时,PiP 将关闭,后台播放将继续。
有没有办法只在用户在应用程序中时才允许 PiP 功能?
理想情况下,用户可以启动 PiP,但当他们将应用程序设置为后台时,PiP 将关闭,后台播放将继续。
实现这一点的方法是使用onUserLeaveHint()
来自框架的回调。
文档给出的示例与您尝试做的相反,但只需翻转 boolean。;)
您可能希望包含将活动切换到 PIP 模式而不是进入后台的逻辑。例如,如果用户在应用程序导航时按下主页或最近按钮,谷歌地图就会切换到 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。