gpt4 book ai didi

android - 使用 Android O 画中画模式的任务列表和返回堆栈

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:07:58 32 4
gpt4 key购买 nike

有没有人对在 android O 的 PiP 模式下管理返回堆栈和任务有任何经验或建议?

进入画中画模式似乎将 Activity 从当前任务堆栈中分离出来。退出并不能恢复它。

Chrome 似乎在您进入 pip 模式时使用 PiP 正确处理后退堆栈,可以在其他应用程序中导航,将 pip 恢复到全屏并按返回结束返回网页。当 Chrome 处于画中画模式时,您也不会在任务列表中看到它。是否有我遗漏的东西,或者 Chrome 是否在做一些特别的事情,或者可能只对标签和全屏视频使用单个 Activity ?

基本上我想恢复整个应用程序,它在我们从 PiP 返回时进入 PiP 的点返回堆栈。

最佳答案

不幸的是,没有一个谷歌应用程序(YouTube、Duo、Chrome)有这个问题,因为它们往往只使用一个 Activity ,所以当进入或离开 PiP 时,最近菜单中没有任务问题,因为只有曾经有一个单一的任务,其中有一个单一的 Activity 。这就是为什么当这些应用程序处于画中画模式时,您在最近的菜单中看不到任何条目;它被 API 隐藏了。

如果您在应用中使用多个 Activity,就会遇到这个问题。这是特别常见的,因为大多数应用程序都会在启动其应用程序的任务中使用新的 Activity 来容纳其视频播放。

我发现的最佳解决方案是让您的视频播放器 Activity 处于其自己的任务中(设置唯一的任务亲和性)并将其从最近菜单中隐藏。这会在进入和退出 PiP 时产生预期的行为,并允许用户在不干扰 PiP 任务的情况下导航整个应用程序的其余部分(通过其他任务)。不幸的是,这意味着用户将无法从最近重新进入您的视频播放器;如果用户使用主页或最近按钮,视频播放器任务将最终被销毁,您的播放器 Activity 将完成。

    <activity
android:name=".YourVideoPlayerActivity"
android:resizeableActivity="true"
android:configChanges="keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation"
android:supportsPictureInPicture="true"
android:launchMode="singleTask"
android:taskAffinity=".YourVideoPlayerActivityTask"
android:excludeFromRecents="true"
android:noHistory="true"
android:autoRemoveFromRecents="true" />

关于android - 使用 Android O 画中画模式的任务列表和返回堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45187961/

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