我关注了 Android picture-in-picture documentation .也就是说,我的画中画 Activity 被标记为android:launchMode="singleTask"
,android:resizeableActivity="true"
,和android:configChanges="screenSize |smallestScreenSize|screenLayout|orientation”
在 list 中。
画中画似乎效果很好。但是,我注意到我遇到了不良行为。
当我的应用程序收到推送时,我创建了一个 PendingIntent
,其中包含 MyActivity
的 Intent
(不同的 Activity
比 PiP Activity
)。但是,当我点击通知并使用 Intent
时,MyActivity
会在 PiP 窗口内启动!
我已经尝试将 android:launchMode="singleTask"
添加到 list 中的 MyActivity
中。在与 PendingIntent.getActivity()
一起使用之前,我还尝试以编程方式将该标志添加到 Intent
。这似乎无法解决问题。
谁能告诉我如何防止这种情况发生?
最佳答案
为了解决这个问题,我们应该为 list 中的 PiP Activity
设置一个唯一的 taskAffinity
。它指示 Activity 所属的任务。为它设置一个唯一的值将 PiP Activity
的任务与 MainActivity
分开。
<activity
android:name=".VideoActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:taskAffinity=".VideoActivity"
android:supportsPictureInPicture="true" />
---------------------- 之前 ------------------ ---------------------- 之后 -------------- --------
关于android - 从画中画窗口中打开的通知启动 Intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54028535/