Limity intencji na pełnym ekranie

Aby zapobiec spamowi reklamowemu i wyłudzaniu danych uwierzytelniających, począwszy od Androida 14, domyślne uprawnienie USE_FULL_SCREEN_INTENT do wysyłania powiadomień na pełnym ekranie można przyznać tylko aplikacjom zapewniającym funkcje połączeń i alarmów.

Dla wszystkich aplikacji instalowanych na Androidzie 14 uprawnienie USE_FULL_SCREEN_INTENT jest domyślnie włączone. Po instalacji Sklep Google Play cofa zezwolenie na korzystanie z trybu pełnoekranowego (FSI) w przypadku aplikacji, które nie obsługują funkcji połączeń ani alarmów.

W przypadku aplikacji zainstalowanych na telefonach z wersją Androida niższą niż 13 uprawnienie USE_FULL_SCREEN_INTENT pozostaje domyślnie włączone.

Zezwolenie użytkownika

W systemie Android 14 aplikacje mogą używać NotificationManager#canUseFullScreenIntent() , aby sprawdzić, czy mogą wysyłać powiadomienia na pełnym ekranie. Aby uzyskać pozwolenie użytkownika na wysyłanie powiadomień na pełnym ekranie, aplikacje używają ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT do uruchomienia ustawienia Zarządzaj intencjami na pełnym ekranie, 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 obszarze Specjalny dostęp do aplikacji . Dzięki temu interfejsowi użytkownicy mogą w razie potrzeby odwołać to uprawnienie.

Wymagania OEM

W systemie Android 14 uprawnienia FSI dla aplikacji są domyślnie włączone. Producenci OEM muszą określić, które aplikacje kwalifikują się do uzyskania uprawnień FSI. Producenci OEM muszą upewnić się, że zewnętrzne sklepy z aplikacjami ustawiają początkowe stany przyznania uprawnień FSI dla swoich aplikacji za pomocą PackageInstaller.SessionParams , w szczególności za pomocą parametrów PERMISSION_STATE_DEFAULT , PERMISSION_STATE_DENIED i PERMISSION_STATE_GRANTED .

Walidacja

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

Testy ręczne

Wykonaj poniższe kroki, aby ręcznie przetestować limity FSI w swojej aplikacji:

  1. Zadeklaruj USE_FULL_SCREEN_INTENT w pliku AndroidManifest.xml swojej aplikacji.
  2. Użyj ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT , aby zarządzać ustawieniami włączania i wyłączania FSI.
  3. Na telefonie testowym ręcznie przełącz uprawnienia użytkownika do powiadomień pełnoekranowych, jak pokazano na rysunku 1.
  4. Wyślij powiadomienie FSI.
  5. Sprawdź wygląd powiadomienia pełnoekranowego dla następujących kombinacji uprawnień FSI i trybów wyświetlania:
Zezwolenie FSI Odblokowany ekran Zablokowany ekran Poza ekranem Zawsze włączony wyświetlacz (AOD)
Przyznane przez użytkownika Stałe powiadomienie heads-up (HUN) za pomocą przycisków pigułek Uruchom FSI Uruchom FSI Uruchom FSI
Odrzucone przez użytkownika HUN z guzikami pigułkowymi z lat 60-tych HUN z pigułkami pojawia się na pierwszym miejscu listy od lat 60 AOD włącza się, pokazuje HUN z przyciskami pigułek przez 60s HUN z guzikami pigułkowymi z lat 60-tych