Wycofane

Z każdą 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 wycofa przestarzałe interfejsy API i skieruje deweloperów do nowych interfejsów API, których powinni używać.

Wycofanie oznacza, że zakończyliśmy oficjalne wsparcie dla 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. Inne wycofania znajdziesz w raporcie różnic w interfejsie API.

RenderScript

Od Androida 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ą zapewniać obsługę akceleracji sprzętowej. Aby w pełni wykorzystać akcelerację GPU, zalecamy zaprzestanie korzystania z RenderScriptu.

Playlisty na Androida

Playlisty na Androida są wycofywane. Ten interfejs API nie jest już utrzymywany, ale jego obecna funkcjonalność pozostaje zachowana ze względu na zgodność.

Zalecamy odczytywanie i zapisywanie list odtwarzania jako plików m3u.

Wycofanie interfejsów Display API

Urządzenia z Androidem są dostępne w wielu różnych formatach, np. z dużymi ekranami, jako 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 WindowMetrics API i wycofaliśmy te metody:

W Androidzie 12 nadal zalecamy używanie metody WindowMetrics. Wycofujemy te metody:

Aplikacje powinny używać interfejsów API WindowMetrics do wysyłania zapytań o granice okna lub Configuration.densityDpi do wysyłania 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 wersje.

Przykłady

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

Najpierw upewnij się, że aktywności aplikacji można w pełni zmieniać.

W przypadku wszelkich działań związanych z interfejsem, a w szczególności WindowManager.getCurrentWindowMetrics(), aktywność powinna korzystać z WindowMetrics z kontekstu aktywności.

Jeśli aplikacja tworzy MediaProjection, granice muszą mieć odpowiedni rozmiar, ponieważ projekcja obejmuje wyświetlacz. Jeśli aplikacja ma w pełni zmieniany rozmiar, 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 jest w pełni zmienna, musi wysyłać zapytania o granice z instancji WindowContext i pobierać 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();