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 aplikacji 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()do sprawdzania, 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, aby uruchomić ustawienie 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 OEM

W Androidzie 14 uprawnienia dotyczące FSI aplikacji są włączone domyślnie. Producenci OEM muszą określić, które aplikacje kwalifikują się do uzyskania uprawnień FSI. Producenci OEM muszą zapewnić, że zewnętrzne sklepy z aplikacjami ustawiają początkowe stany przyznania uprawnień FSI swoim aplikacjom za pomocą PackageInstaller.SessionParams, w szczególności za pomocą parametrów 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:

  1. Zadeklaruj USE_FULL_SCREEN_INTENT w pliku AndroidManifest.xml aplikacji.
  2. Użyj ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT, aby zarządzać ustawieniami włączania i wyłączania usług FSI.
  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 FSI.
  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 Uruchom FSI Uruchom FSI Uruchom FSI
Odmowa przez użytkownika 60-sekundowa zabawa z guzikami HUN z przyciskami w formie pigułki wyświetla się na liście jako pierwszy przez 60 s AOD włącza się i przez 60 sekund wyświetla ekran Always On Display z przyciskami w postaci pigułek. 60-sekundowa zabawa z przyciskami