gpt4 book ai didi

android - 我们如何离开画中画模式?

转载 作者:IT老高 更新时间:2023-10-28 21:47:10 28 4
gpt4 key购买 nike

我们有 enterPictureInPictureMode() 将 Activity 从其当前形式移动到画中画表示。

除了销毁 Activity 之外,我们还通过什么方式恢复它,将 Activity 恢复到正常状态? Activity 上没有 exitPictureInPictureMode()leavePictureInPictureMode()janeGetMeOffThisCrazyPictureInPictureModeThing() 方法,以及文档似乎没有涵盖替代方案。

我对适用于 Android O 的解决方案感兴趣,它适用于移动设备上的画中画模式,不过如果它也适用于 Android TV,那就太好了!

UPDATE 2017-04-08:如果您想要在用户单击 X 按钮退出画中画模式时返回正常模式,您可以执行以下操作:

  @Override
public void onPictureInPictureModeChanged(boolean isInPictureInPictureMode) {
super.onPictureInPictureModeChanged(isInPictureInPictureMode);

if (!isInPictureInPictureMode) {
getApplication().startActivity(new Intent(this, getClass())
.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));
}
}

关键位是调用 startActivity() 以使用 FLAG_ACTIVITY_REORDER_TO_FRONT 再次启动当前 Activity 。对于 singleTask Activity ,您需要在一些非 Activity 上下文中调用它,例如 Application 单例。这似乎不会触发 onStop()onStart(),但它确实会触发 onNewIntent()(使用任何 Intent 你传递给 startActivity())。

最佳答案

  1. 将 Activity 移到后面

    activity.moveTaskToBack(false /* nonRoot */);
  2. 将 Activity 恢复到最前面

    Intent startIntent = new Intent(PipActivity.this, PipActivity.class);
    startIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    activity.startActivity(startIntent);

关于android - 我们如何离开画中画模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43174507/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com