Wycofane

Z każdą kolejną wersją niektóre interfejsy API Androida mogą stać się przestarzałe lub wymagać refaktoryzacji, aby zapewnić deweloperom większy komfort pracy lub obsługiwać nowe funkcje platformy. W takich przypadkach Android oficjalnie wycofuje przestarzałe interfejsy API i kieruje deweloperów do nowych interfejsów API, których mogą używać w zamian.

Wycofanie oznacza, że zakończyliśmy oficjalne wsparcie dla danych interfejsów API, ale nadal będą one dostępne dla deweloperów. Na tej stronie znajdziesz informacje o niektórych funkcjach, które zostały wycofane w tej wersji Androida. Aby zobaczyć inne wycofania, zapoznaj się z raportem różnic w interfejsie API.

RenderScript

Od Androida 12 interfejsy RenderScript API są wycofane. Będą one nadal działać, ale spodziewamy się, że z czasem producenci urządzeń i komponentów przestaną zapewniać obsługę akceleracji sprzętowej. Aby w pełni wykorzystać możliwości akceleracji GPU, zalecamy migrację z RenderScript.

Playlisty na Androidzie

Playlisty na Androidzie zostały wycofane. Interfejs API nie jest już obsługiwany, ale obecne funkcje pozostają dostępne ze względu na zgodność.

Zalecamy odczytywanie i zapisywanie playlist jako plików m3u.

Wyświetlanie wycofanych interfejsów API

Urządzenia z Androidem są dostępne w wielu różnych formatach, takich jak duże ekrany, tablety i urządzenia składane. Aby prawidłowo renderować treści na każdym urządzeniu, aplikacja musi określić rozmiar ekranu lub wyświetlacza. Z czasem Android udostępnił 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 wycofujemy:

Aplikacje powinny używać interfejsów API WindowMetrics do sprawdzania granic okna lub Configuration.densityDpi do sprawdzania bieżącej gęstości.

Pamiętaj, że biblioteka Jetpack WindowManager zawiera klasę WindowMetrics, która obsługuje Androida 4.0.1 (poziom interfejsu API 14) i nowsze wersje.

Przykłady

Oto kilka przykładów użycia WindowMetrics.

Najpierw upewnij się, że aktywności w aplikacji mogą mieć w pełni zmieniany rozmiar.

Aktywność powinna opierać się na WindowMetrics z kontekstu aktywności w przypadku wszystkich zadań związanych z interfejsem, zwłaszcza WindowManager.getCurrentWindowMetrics().

Jeśli aplikacja tworzy obiekt MediaProjection, granice muszą mieć prawidłowy rozmiar, ponieważ projekcja przechwytuje wyświetlacz. Jeśli rozmiar aplikacji można w pełni zmienić, 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 rozmiaru aplikacji nie można w pełni zmienić, musi ona wysłać zapytanie o granice z instancji WindowContext i pobrać dane WindowMetrics maksymalnego obszaru wyświetlania dostępnego 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();