2016-07-21 10 views
8

Chcę wyłączyć obsługę wielu okien dla działania w mojej aplikacji. Ustawiłem resizeableActivity na wartość false w moim Manifeście, ale kiedy długo naciskałem ikonę ostatniej aplikacji, aplikacja nadal przechodzi w tryb wielu okien. Poniżej jest mój manifest:Wyłączanie funkcji wielu okien dla systemu Android N nie działa w przypadku aktywności

<activity 
    android:name=".MainActivity" 
    android:resizeableActivity="false" 
    android:excludeFromRecents="true" 
    android:icon="@drawable/ic_launcher_home" 
    android:theme="@style/AppThemeV3.CustomToolbar"> 
</activity> 

Per documentation:

android:resizeableActivity=["true" | "false"]

Jeśli atrybut jest ustawiony na false, aktywność nie obsługuje trybu multi-okno. Jeśli ta wartość ma wartość false, a użytkownik próbuje uruchomić działanie w trybie wielu okien, działanie przejmuje pełny ekran.

Próbowałem również ustawić ten atrybut na false na poziomie aplikacji w manifeście, ale nadal zaczyna się w trybie wielu okien. Każdy wskaźnik na tym, co robię źle, będzie bardzo ceniony?

+0

Ta aktywność nie ma ''. Jak to się zaczyna? Czy zaczyna cię jedna z twoich innych czynności? – CommonsWare

+0

Witaj, Tak, uruchomione wewnętrznie przez jedno z pozostałych działań w aplikacji. Dziękuję Ci! – user899849

Odpowiedz

4

Czynność znajdująca się w katalogu głównym zadania steruje rozmiarem okna. Dostępne opcje to:

  1. prześledzić wstecz do wszystkich możliwych działań korzeniowych zadaniem w swojej aplikacji i zapewniają wszystkie mają również android:resizeableActivity="false"

  2. Mocy tej działalności do innego zadania, poprzez Intent flagi kiedy go lub manifest zacząć ustawienia

+0

Idealne ... to naprawiło. Dziękuję bardzo za Twoją pomoc!!! Ustawiłem flagę na poziomie aplikacji, ale to nie zadziałało. Kiedy ustawiłem flagę na aktywność root'a, to wystarczyło. Zastanawiasz się, dlaczego flaga poziomu aplikacji nie działa? Dzięki jeszcze raz!! – user899849

+0

@ user899849: Ten atrybut jest tylko dla '' i nie występuje w [dokumentacji dla ''] (https://developer.android.com/guide/topics/manifest/application-element.html). – CommonsWare

+1

Warto powiedzieć, że Intent.FLAG_ACTIVITY_NEW_TASK jest notorycznie błędny. Tak więc dla innych osób, które zetkną się z tym - prawdopodobnie chcesz ustawić dla właściwości TaskAffinity dla nowej aktywności coś innego niż domyślne. Na przykład:

3

[UPDATE] ustaw android: resizeableActivity = "false" w znaczniku aplikacji. To zadziała teraz.

0

mam przed spotkać ten problem, i staram wiele czasu okaże się, że trzeba dodać androida: launchMode = "singleTask" & & android: resizeableActivity = "false" w tym samym czasie.

Powiązane problemy