0

有没有办法只在用户在应用程序中时才允许 PiP 功能?

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

4

1 回答 1

1

实现这一点的方法是使用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。

于 2019-04-30T11:14:13.597 回答