Wraz z każdą nową wersją niektóre interfejsy API Androida mogą stać się przestarzałe lub wymagać przebudowy, aby zapewnić lepsze wrażenia deweloperom lub obsługiwać nowe funkcje platformy. W takich przypadkach Android oficjalnie wycofa przestarzałe interfejsy API i przekieruje deweloperów na nowe interfejsy API.
Oznacza to, że zakończyliśmy oficjalne wsparcie interfejsów API, ale nadal będą one dostępne dla deweloperów. Na tej stronie znajdziesz informacje o niektórych wycofanych funkcjach w tej wersji Androida. Aby zobaczyć inne wycofane interfejsy API, zapoznaj się z raportami o różnicach w interfejsach API.
RenderScript
Od Androida 12 interfejsy RenderScript API są wycofane. Będą one nadal działać, ale spodziewamy się, że producenci urządzeń i komponentów z czasem przestaną obsługiwać akcelerację sprzętową. Aby w pełni korzystać z przyspieszania przez procesor graficzny, zalecamy przejście na inne rozwiązanie niż RenderScript.
Playlisty na Androidzie
Playlisty na Androida zostały wycofane. Interfejs API nie jest już aktualizowany, ale jego obecna funkcjonalność jest nadal dostępna ze względu na zgodność wsteczną.
Zalecamy odczytywanie i zapisywanie playlist w formacie m3u.
Wycofanie Display API
Urządzenia z Androidem są dostępne w różnych formatach, takich jak duże ekrany, tablety i urządzenia składane. Aby prawidłowo renderować treści na poszczególnych urządzeniach, aplikacja musi określić rozmiar ekranu lub wyświetlacza. Z czasem Android udostępniał różne interfejsy API do pobierania tych informacji. W Androidzie 11 wprowadziliśmy interfejs API WindowMetrics
i wycofaliśmy te metody:
W Androidzie 12 nadal zalecamy używanie WindowMetrics
, a te metody są wycofywane:
Aplikacje powinny używać interfejsów API WindowMetrics
, aby zapytać o granice okna, lub Configuration.densityDpi
, aby zapytać o bieżącą gęstość.
Pamiętaj, że biblioteka Jetpack WindowManager
zawiera klasę WindowMetrics
, która obsługuje Androida 4.0.1 (poziom interfejsu API 14) i nowsze.
Przykłady
Oto kilka przykładów użycia WindowMetrics
.
Najpierw sprawdź, czy w Twojej aplikacji można w pełni zmieniać rozmiar aktywności.
Aktywność powinna korzystać z elementu WindowMetrics
z kontekstu aktywności do wykonywania wszelkich działań związanych z interfejsem użytkownika, w szczególności z elementu WindowManager.getCurrentWindowMetrics()
.
Jeśli Twoja aplikacja tworzy MediaProjection
, musisz ustawić prawidłowe wymiary, ponieważ projekcja obejmuje wyświetlacz. Jeśli aplikacja jest w pełni skalowalna, kontekst aktywności zwraca prawidłowe granice.
Kotlin
val projectionMetrics = activityContext .getSystemService(WindowManager::class.java).maximumWindowMetrics
Java
WindowMetrics projectionMetrics = activityContext .getSystemService(WindowManager.class).getMaximumWindowMetrics();
Jeśli aplikacja nie może być w pełni zmieniać rozmiaru, musi zapytać o granice instancji WindowContext
i pobrać dane WindowMetrics maksymalnej wyświetlanej powierzchni dostępnej dla aplikacji za pomocą WindowManager.getMaximumWindowMetrics()
.
Kotlin
val windowContext = context.createWindowContext(mContext.display!!, WindowManager.LayoutParams.TYPE_APPLICATION, null) val projectionMetrics = windowContext.getSystemService(WindowManager::class.java) .maximumWindowMetrics
Java
Context windowContext = mContext.createWindowContext(mContext.getDisplay(), WindowManager.LayoutParams.TYPE_APPLICATION, null; WindowMetrics projectionMetrics = windowContext.getWindowManager() .getMaximumWindowMetrics();