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 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:
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:
- Zadeklaruj
USE_FULL_SCREEN_INTENT
w plikuAndroidManifest.xml
aplikacji. - Użyj
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
, aby zarządzać ustawieniami włączania i wyłączania usług FSI. - Na telefonie testowym ręcznie włącz uprawnienia użytkownika dotyczące powiadomień pełnoekranowych, jak pokazano na rysunku 1.
- Wyślij powiadomienie FSI.
- 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 |