Aby zapobiec spamowaniu reklamami i wyłudzaniu danych logowania, od Androida 14 domyślne USE_FULL_SCREEN_INTENT
uprawnienie do wysyłania powiadomień pełnoekranowych może być przyznawane tylko aplikacjom, które zapewniają funkcje dzwonienia i alarmu.
W przypadku wszystkich aplikacji instalowanych na Androidzie 14 uprawnienie USE_FULL_SCREEN_INTENT
jest domyślnie włączone. Po zainstalowaniu Sklep Google Play odwołuje uprawnienia do intencji pełnoekranowej (FSI) w przypadku aplikacji, które nie mają funkcji połączeń ani budzika.
W przypadku aplikacji zainstalowanych na telefonach z Androidem 13 lub starszym uprawnienie USE_FULL_SCREEN_INTENT
pozostaje domyślnie włączone.
Uprawnienia użytkownika
W Androidzie 14 aplikacje mogą używać NotificationManager#canUseFullScreenIntent()
, aby sprawdzić, czy mogą wysyłać powiadomienia pełnoekranowe. Aby uzyskać zgodę użytkownika na wysyłanie powiadomień pełnoekranowych, aplikacje używają ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
do uruchomienia ustawienia Zarządzaj intencjami pełnoekranowymi, jak pokazano na rysunku 1:
Rysunek 1. Interfejs umożliwiający aplikacjom wysyłanie intencji pełnoekranowych
Ustawienie Zarządzaj intencjami pełnoekranowymi znajduje się w menu Ustawienia w sekcji Specjalne uprawnienia aplikacji. Dzięki temu interfejsowi użytkownicy mogą w razie potrzeby cofnąć to uprawnienie.
Wymagania dotyczące OEM
W Androidzie 14 uprawnienia FSI są domyślnie włączone w aplikacjach. Producenci OEM muszą określić, które aplikacje kwalifikują się do uprawnień FSI. Producenci OEM muszą zadbać o to, aby sklepy z aplikacjami innych firm ustawiały początkowe stany przyznawania uprawnień FSI dla swoich aplikacji za pomocą PackageInstaller.SessionParams
, w szczególności z parametrami PERMISSION_STATE_DEFAULT
, PERMISSION_STATE_DENIED
i PERMISSION_STATE_GRANTED
.
Weryfikacja
Aby sprawdzić limity FSI, użyj testu CTS Verifier w NotificationFullScreenIntentVerifierActivity.java
i testu CTS w NotificationManagerTest.java
.
Testy ręczne
Aby ręcznie przetestować limity FSI w aplikacji:
- Zadeklaruj
USE_FULL_SCREEN_INTENT
w plikuAndroidManifest.xml
aplikacji. - Aby włączyć lub wyłączyć FSI, użyj opcji
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
. - Na telefonie testowym ręcznie włącz uprawnienia użytkownika dotyczące powiadomień pełnoekranowych, jak pokazano na rysunku 1.
- Wyślij powiadomienie o wystąpieniu zagrożenia.
- Sprawdź wygląd powiadomienia pełnoekranowego w przypadku tych kombinacji uprawnień do interfejsu pełnoekranowego i trybów wyświetlania:
Uprawnienia dotyczące FSI | Ekran odblokowany | Ekran blokady | Wyłączenie | Zawsze aktywny wyświetlacz (AOD) |
Przyznane przez użytkownika | Powiadomienie z ostrzeżeniem (HUN) z przyciskami w postaci tabletek | Uruchomienie FSI | Uruchomienie FSI | Uruchomienie FSI |
Odmowa przez użytkownika | HUN z przyciskami w formie pigułek na 60 s | HUN z przyciskami w formie pigułki wyświetla się na początku listy przez 60 s | AOD włącza się i przez 60 sekund wyświetla ekran Always On Display z przyciskami w postaci pigułek. | HUN z przyciskami w formie pigułek na 60 s |