我正在我们的 Android 应用程序中实现 PiP。这是一个导航应用程序,它的主要活动是全屏地图。当最小化(例如使用主页按钮)时,它会通过 onUserLeaveHint() 正确进入 PiP 模式。问题是主要活动有一些打开次要活动的功能,有时应用程序也会进入画中画模式。
我做错了什么或者我必须改变什么以确保应用程序仅在应用程序“最小化”时进入画中画?
这是一些代码,但我认为没有什么特别的。
这是进入画中画模式:
@Override
protected void onUserLeaveHint() {
if (iWantToBeInPipModeNow()) { //internal logic to allow PiP
PictureInPictureParams params = new PictureInPictureParams.Builder()
.setAspectRatio(new Rational(9, 16))
.build();
enterPictureInPictureMode(params);
}
}
这是打开次要活动:
@Override
public void onClick(View v) {
if (v == myButton) {
Intent intent = new Intent(getContext(), SomeActivity.class);
startActivityForResult(intent, REQ_SELECT_TYPE);
}
}