Mam aktywność, która ma android:windowIsTranslucent
ustawioną na true
i android:windowBackground
ustawioną na półprzezroczystym tłem. Właśnie zmienił się mój cel i skompilować wersję SDK do 27, a ja otrzymuję wyjątek podczas uruchamiania tej aktywności teraz:Orientacja ekranu blokady podczas kierowania na Androida API 27 z nieprzezroczystą aktywnością
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
Ponieważ jest to nowy zestaw SDK, nie ma nic o tym jeszcze w Internecie (i wydaje się wynikać z tego wiersza kodu: https://android.googlesource.com/platform/frameworks/base.git/+/master/core/java/android/app/Activity.java#987)
Czy jest jakiś sposób obejścia tego? Aplikacja nie ulega awarii, jeśli wyjmę z tego manifestu z mojej manifestu android:screenOrientation="portrait"
, ale chciałabym móc to zachować.
To nie ma sensu, aby móc wybrać orientację za pomocą przezroczystej aktywności. Co się stanie, jeśli Aktywność pod Tobą nie obsługuje tej aktywności, lub sama ją zablokujesz? Jak by to działało? Jeśli kiedykolwiek było to dozwolone, działało na luki prawnej. –
Tak więc moim przypadkiem użycia jest to, że ta przezroczysta aktywność jest wyświetlana tylko w mojej aplikacji (nie jako nakładka na inną aplikację). Jest to działanie wyszukiwania, które nakłada się na moją główną działalność, główna aktywność nie zmienia się ani – vanshg
Po pewnym eksperymentowaniu odkryłem, że po usunięciu atrybutu screenOrientation z podobnych półprzezroczystych aktywności moje działania ** nadal nie będą się obracać **, ponieważ te ** za nimi ** mają również atrybut screenOrientation z wartością ** portrait **. – sofakingforever