Limity intencji pełnoekranowej

Aby zapobiec spamowaniu reklamami i wyłudzaniu danych logowania, od Androida 14 domyślne USE_FULL_SCREEN_INTENTuprawnienie 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:

fsi-ui

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_DENIEDPERMISSION_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:

  1. Zadeklaruj USE_FULL_SCREEN_INTENT w pliku AndroidManifest.xml aplikacji.
  2. Aby włączyć lub wyłączyć FSI, użyj opcji ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT.
  3. Na telefonie testowym ręcznie włącz uprawnienia użytkownika dotyczące powiadomień pełnoekranowych, jak pokazano na rysunku 1.
  4. Wyślij powiadomienie o wystąpieniu zagrożenia.
  5. 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