Elementy wycofane

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 interfejsów API.

RenderScript

W Androidzie 12 interfejsy RenderScript API są wycofywane. 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 GPU, zalecamy przejście z RenderScript.

Playlisty na Androidzie

Playlisty na Androida zostały wycofane. Interfejs API nie jest już obsługiwany, ale zachowuje zgodność z obecnymi funkcjami.

Zalecamy odczytywanie i zapisywanie playlist jako pliki m3u.

Wycofanie Display API

Urządzenia z Androidem są dostępne w różnych formatach, np. jako urządzenia z dużymi ekranami, 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 wysyłać zapytania dotyczące granic swojego okna, lub Configuration.densityDpi, aby wysyłać zapytania 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 aplikacja tworzy MediaProjection, granice muszą być prawidłowo dopasowane, ponieważ rzutowanie przechwytuje zawartość ekranu. 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 dotyczące maksymalnej dostępnej dla aplikacji powierzchni wyświetlania, używając do tego 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();