Bubbles w Androidzie Q zastąpi nakładkę API w przyszłej wersji Androida

Google całkowicie wycofa SYSTEM_ALERT_WINDOW (interfejs API nakładek) w przyszłej wersji Androida, zmuszając programistów do korzystania z API Bubbles w Androidzie Q.

Coroczna konferencja programistów I/O organizowana przez Google jest pełna wiadomości na temat wszystkich aplikacji, usług i narzędzi programistycznych Google, ale jednym z najważniejszych tematów jest system operacyjny Android. Android, używany obecnie na ponad 2,5 miliarda urządzeń na całym świecie, zajmuje ogromną ilość czasu w Google I/O. Zmian na platformie jest mnóstwo – w zasadzie tak wiele, że Google nie jest w stanie poświęcić jednakowej uwagi każdej zmianie. Podczas wykładu „Co nowego w Androidzie” pierwszego dnia targów I/O 2019 firma Google ogłosiła nadchodzącą poważną zmianę w bardzo starym interfejsie API: SYSTEM_ALERT_WINDOW. Interfejs API umożliwia programistom rysowanie nakładki na górze ekranu, a jego najsłynniejszym zastosowaniem są dymki na czacie (np. Facebook Messenger). Teraz, gdy Google oferuje alternatywny interfejs API dla SYSTEM_ALERT_WINDOW w postaci

Bąbelki w Androidzie Q, firma Google zdecydowała się ostatecznie wycofać SYSTEM_ALERT_WINDOW w przyszłej wersji Androida.

Na ścianie widniał napis informujący o zbliżającym się wycofaniu systemu SYSTEM_ALERT_WINDOW. Zezwolenie aplikacji na nakładanie okien na inne aplikacje stanowi oczywiste zagrożenie bezpieczeństwa; niesławny "Płaszcz i sztylet" exploit udowodnił, że należy opanować SYSTEM_ALERT_WINDOW.

Uruchomiono Google ograniczanie obszarów w którym nakładki mogą cofnąć się w Androidzie Oreo i całkowicie usunęły dostęp do API dla Androida Q (Go Edition). Największym problemem z SYSTEM_ALERT_WINDOW jest to, że pomimo fakt, że użytkownicy powinni ręcznie udzielać uprawnień poprzez specjalny ekran zarządzania uprawnieniami, Sklep Google Play automatycznie przyznaje dostęp do uprawnień po instalacja. W Androidzie Q dostęp do uprawnienia SYSTEM_ALERT_WINDOW jest przejściowe: aplikacje ładowane z boku mają dostęp do uprawnień tylko przez 30 sekund, a aplikacje instalowane za pośrednictwem Google Play mają dostęp do uprawnień do momentu ponownego uruchomienia urządzenia.

Jednak w przyszłej wersji Androida SYSTEM_ALERT_WINDOW zostanie całkowicie przestarzały, a wszystkie aplikacje na Androida, które z niego korzystają, będą musiały przejść na nową API bąbelków wprowadzone w Androidzie Q beta 2.

API Bubbles w Androidzie Q. Źródło: Google.

Jednak bąbelki są częścią interfejsu API powiadomień, więc nie zastępują w pełni SYSTEM_ALERT_WINDOW. Chociaż bąbelki mają postać małej czynności o zmiennym rozmiarze, użytkownik musi je uruchomić z poziomu powiadomienia spełniającego jeden lub więcej z te warunki.

Twórcy aplikacji korzystających z interfejsu API SYSTEM_ALERT_WINDOW, którego jest wiele, będą musieli w najbliższej przyszłości zacząć szukać alternatywnego interfejsu API Bubbles. Próbowaliśmy uzyskać harmonogram, kiedy Google planuje wycofać interfejs API, ale nie otrzymaliśmy odpowiedzi. Załóżmy jednak, że interfejs API nie będzie działał zbyt długo: założę się, że nie będzie już dostępny w systemie Android R.

Całą sesję „Co nowego w Androidzie” można obejrzeć pod poniższym linkiem YouTube (rozpoczyna się od 16:53.)