Ograniczenia intencji pełnoekranowej

Aby zapobiec spamowaniu reklamami i wyłudzaniu danych logowania, od Androida 14 domyślne uprawnienie USE_FULL_SCREEN_INTENT do wysyłania powiadomień pełnoekranowych będzie można przyznawać tylko aplikacjom, które mają 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 odbiera uprawnienia do intencji pełnoekranowej (FSI) aplikacjom, które nie mają funkcji połączeń ani alarmów.

W przypadku aplikacji zainstalowanych na telefonach z Androidem 13 lub starszym uprawnienie USE_FULL_SCREEN_INTENT jest 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 uruchamiania ustawienia Zarządzaj intencjami pełnoekranowymi, jak pokazano na ilustracji 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 Specjalny dostęp do aplikacji. W tym interfejsie użytkownicy mogą w razie potrzeby cofnąć to uprawnienie.

Wymagania dotyczące OEM

W Androidzie 14 uprawnienia FSI dla aplikacji są domyślnie włączone. 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 przyznania uprawnień FSI dla swoich aplikacji za pomocą PackageInstaller.SessionParams, a w szczególności parametrów PERMISSION_STATE_DEFAULT, PERMISSION_STATE_DENIEDPERMISSION_STATE_GRANTED.

Weryfikacja

Użyj testu CTS Verifier w NotificationFullScreenIntentVerifierActivity.java i testu CTS w NotificationManagerTest.java, aby sprawdzić limity FSI.

Testy ręczne

Aby ręcznie przetestować limity FSI w aplikacji, wykonaj te czynności:

  1. Zadeklaruj USE_FULL_SCREEN_INTENT w pliku AndroidManifest.xml aplikacji.
  2. Aby włączyć lub wyłączyć FSI, użyj ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT.
  3. Na telefonie testowym ręcznie włącz lub wyłącz uprawnienia użytkownika do powiadomień pełnoekranowych, jak pokazano na ilustracji 1.
  4. Wysyłanie powiadomienia FSI.
  5. Sprawdź wygląd powiadomienia pełnoekranowego w przypadku tych kombinacji uprawnień do intencji pełnoekranowej i trybów wyświetlania:
Uprawnienie FSI Odblokowany ekran Zablokowany ekran Poza ekranem Zawsze aktywny wyświetlacz (AOD)
Przyznane przez użytkownika Stałe powiadomienie z ostrzeżeniem z przyciskami w formie pigułki Uruchom FSI Uruchom FSI Uruchom FSI
Odmowa użytkownika HUN z przyciskami w formie pigułki na lata 60. W przypadku 60-sekundowych filmów HUN z przyciskami w kształcie pigułki pojawia się na pierwszym miejscu na liście. Tryb AOD włącza się i wyświetla powiadomienie HUN z przyciskami przez 60 sekund. HUN z przyciskami w formie pigułki na lata 60.