有没有办法只在用户在应用程序中时才允许PiP功能?
理想情况下,用户可以启动画中画,但是当他们在后台应用时,画中画将关闭,后台播放将继续。
实现此目的的方法是使用来自框架的onUserLeaveHint()
回调。
文档给出的示例与您要执行的示例相反,但只需翻转布尔值。 ;)
您可能希望包含将活动切换到 PIP 模式而不是进入后台的逻辑。例如,如果用户在应用导航时按下主页或最近按钮,Google 地图会切换到画中画模式。您可以通过覆盖 onUserLeaveHint(( 来捕获这种情况:
来源: https://developer.android.com/guide/topics/ui/picture-in-picture
@Override
public void onUserLeaveHint () {
if (iWantToBeInPipModeNow()) {
enterPictureInPictureMode();
}
}
iWantToBeInPipModeNow()
的方法实际上是up-2-you,但你可以拦截它,然后退出PiP(如果你在其中(。
您还可以确保您的后退/停止方法也确保为您的用例正确处理 PiP。