media-samples icon indicating copy to clipboard operation
media-samples copied to clipboard

PIP issues

Open iostyle opened this issue 2 years ago • 8 comments

Start a singleTask activity will show in PIP, when PIP used.

https://user-images.githubusercontent.com/22219146/191489677-d9a7bd1a-6902-4a79-91ea-0eba4aaf42b6.mp4

iostyle avatar Sep 21 '22 11:09 iostyle

When PIP activity and other singleTask activity in the same task.

iostyle avatar Sep 21 '22 11:09 iostyle

yes, I have met this error too, that is very disappointed ! So, DO NOT USE PIP !!!

BambooXiu avatar Mar 30 '23 03:03 BambooXiu

Did pip solve this problem? I encountered the same problem

zhangxiaofan918 avatar May 09 '23 13:05 zhangxiaofan918

Unfortunately not yet

BambooXiu avatar May 14 '23 15:05 BambooXiu

I had the same issue and this answer looks promising, https://stackoverflow.com/a/54086060/2359762 Have you tried taskAffinity instead of singleTask?

mohsenoid avatar Aug 24 '23 14:08 mohsenoid

When starting PIP Activity normally, PIP activity will launch on a new Task which taskAffinity is same as application packagename. So we have two Task with same taskAffinity. Then if you start an activity with singleTask mode, it will launch on Task just create for PIP activity.

I solved this problem by setting a special taskAffinity for PIP activity. Setting Special taskAffinity can launch PIP activity on a independent Task. Then activity with singleTask mode will not be launched on Task that PIP Activity was in.

opLW avatar Sep 11 '23 07:09 opLW

When starting PIP Activity normally, PIP activity will launch on a new Task which taskAffinity is same as application packagename. So we have two Task with same taskAffinity. Then if you start an activity with singleTask mode, it will launch on Task just create for PIP activity.

I solved this problem by setting a special taskAffinity for PIP activity. Setting Special taskAffinity can launch PIP activity on a independent Task. Then activity with singleTask mode will not be launched on Task that PIP Activity was in.

However, this will produce multiple windows on the task list, which cannot be satisfied for applications such as video conferencing

zhangxiaofan918 avatar Oct 22 '23 14:10 zhangxiaofan918

In order to solve this problem, i add task affinity to the support pip activity in the manifest.xml. This causes another problem, when press home key ,the activity is background ,and user click icon from the home desk, the app start and go to the main task(the app default package name task), not the support pip activity. I foreach the app tasks, find the task containing the support pip activity, and call " task.moveToFront();" to bringfront the activity , the activity go in pip mode normally. I go to the activity normal mod and finish the activity. After that , I click the button,and go to the support pip activity again, this time ,the system log shows the activity go to pip mode ,but the min window not shown. million seconds later, the system log shows the app is in background. The above can be reproduced in android14 system.
Finally, i change the called code from "task.moveToFront();" to " activityManager.moveTaskToFront()", the bad result above is gone. I don't know why, just guess that , "task.moveToFront();"maybe cause PIP mode out of time sequence.

focuseyes360 avatar May 17 '24 08:05 focuseyes360