2017-07-19 16 views
7

Czy ktoś ma jakieś doświadczenie lub porady dotyczące zarządzania stosami i zadaniami w trybie PiP dla Androida O?Lista zadań i tylny stos z trybem Android O Obraz w obrazie

Wejście w tryb PiP wydaje się odłączać aktywność od bieżącego stosu zadań. A wyjście nie przywraca go.

Wygląda na to, że Chrome obsługuje poprawnie tylny stos, gdy używa PiP, ponieważ wchodzisz w tryb pip, możesz nawigować po innych aplikacjach, przywracać pip do pełnego ekranu i wracać, aby wrócić do strony internetowej. Ty też nie widzisz Chrome na liście zadań, gdy jest w trybie PiP. Czy jest coś, czego mi brakuje lub czy Chrome robi coś wyjątkowego lub tylko używa jednej aktywności dla filmu z kartą i na pełnym ekranie?

Zasadniczo chcę przywrócić całą aplikację i jest ona z powrotem stosu w punkcie, w którym weszliśmy PiP po powrocie z PiP.

Odpowiedz

4

Niestety, żadna z aplikacji Google (YouTube, Duo, Chrome) nie ma problemu, ponieważ mają one tendencję do używania tylko jednego działania, więc podczas wchodzenia do lub wychodzenia z PiP nie ma problemu z zadaniem w menu recents, ponieważ istnieje tylko jedno zadanie z pojedynczym działaniem w nim. Dlatego nie widać żadnego wpisu w menu ostatnich aplikacji, gdy są one w trybie PiP; jest ukrywany przez interfejsy API.

Jeśli korzystasz z wielu działań w swojej aplikacji, pojawi się ten problem. Jest to szczególnie powszechne, biorąc pod uwagę, że większość aplikacji używa nowej aktywności w zadaniu, które uruchomiło swoją aplikację, aby pomieścić odtwarzanie wideo.

Najlepszym rozwiązaniem, które znalazłem, jest ustawienie aktywności odtwarzacza wideo w jego własnym zadaniu (ustawienie unikatowego powinowactwa zadania) i ukrycie go z menu ostatnich chwil. Powoduje to oczekiwane zachowanie przy wchodzeniu i wychodzeniu z PiP, a także pozwala użytkownikowi nawigować po całej reszcie aplikacji (za pośrednictwem innych zadań) bez ingerencji w zadanie PiP. Niestety oznacza to, że użytkownicy nie będą mogli ponownie wejść do odtwarzacza wideo od chwili, gdy go nie ma; jeśli użytkownicy użyją przycisków home lub recents, zadanie odtwarzacza wideo zostanie zniszczone, a aktywność gracza zostanie zakończona.

<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" /> 
Powiązane problemy