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:
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_DENIED
i PERMISSION_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:
- Zadeklaruj
USE_FULL_SCREEN_INTENT
w plikuAndroidManifest.xml
aplikacji. - Aby włączyć lub wyłączyć FSI, użyj
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
. - Na telefonie testowym ręcznie włącz lub wyłącz uprawnienia użytkownika do powiadomień pełnoekranowych, jak pokazano na ilustracji 1.
- Wysyłanie powiadomienia FSI.
- 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. |