Uprawnienia używane tylko w domyślnych modułach obsługi

Działanie kilku podstawowych funkcji urządzenia, takich jak odczytywanie rejestrów połączeń i wysyłanie SMS-ów, zależy od dostępu do poufnych informacji użytkownika. Aby chronić prywatność użytkowników i zapewnić im większą kontrolę nad informacjami, które udostępniają aplikacjom na ich urządzeniu, Google Play ogranicza dostęp aplikacji do grup uprawnień związanych z połączeniami i wiadomościami.

Jeśli rozpowszechniasz aplikację w Sklepie Google Play i chcesz uzyskać dostęp do poufnych informacji o użytkowniku związanych z rejestrami połączeń i SMS-ami, musisz ją zarejestrować jako domyślny moduł obsługi użytkownika w ramach głównej funkcji urządzenia związanej z tym uprawnieniem, chyba że spełnia ona jeden z wyjątków opisanych w Centrum pomocy Konsoli Play. Aby na przykład uzyskać dostęp do uprawnień związanych z połączeniami, aplikacja musi być zarejestrowana jako domyślna aplikacja do obsługi telefonu lub Asystenta, o ile nie jest ona wyjątkiem.

Ten przewodnik zawiera krótki opis tego, jak użytkownicy uzyskują dostęp do domyślnych modułów obsługi na urządzeniach z Androidem. Następnie przewodnik sprawdza wymagania, które musi spełnić aplikacja, aby mogła być domyślnym modułem obsługi. Przewodnik pokazuje też proces uzyskiwania zgody użytkownika na domyślne ustawienia funkcji obsługi.

Więcej informacji o domyślnych modułach obsługi oraz o sposobie obsługi uprawnień w aplikacji dostępnej w Sklepie Play znajdziesz w przewodniku po zasadach uprawnień.

Wyświetlanie i zmienianie zestawu domyślnych modułów obsługi

Android pozwala użytkownikom ustawiać domyślne moduły obsługi w kilku podstawowych przypadkach, takich jak nawiązywanie połączeń telefonicznych, wysyłanie SMS-ów i udostępnianie technologii wspomagających.

Aplikacja Ustawienia na Androidzie zawiera ekran pokazujący użytkownikom, które aplikacje są obecnie domyślnymi modułami obsługi podstawowych funkcji urządzenia, jak widać na ilustracji 1. Na tym ekranie użytkownicy mogą zmienić domyślny moduł obsługi danej funkcji, jak widać na ilustracji 2.

Zrzut ekranu z domyślnymi ustawieniami aplikacji
Rysunek 1. Ekran ustawień systemu z listą domyślnych modułów obsługi na urządzeniu.
Zrzut ekranu przedstawiający domyślne ustawienia aplikacji do obsługi SMS-ów
Rysunek 2. Ekran ustawień systemu pokazujący, jak zmienić domyślną aplikację do obsługi SMS-ów.

Przestrzeganie wymagań dotyczących domyślnych modułów obsługi

Biorąc pod uwagę poufne dane użytkownika, do których aplikacja uzyskuje dostęp, gdy działa jako domyślny moduł obsługi, aplikacja nie może zostać domyślnym modułem obsługi, chyba że spełni te wymagania dotyczące podstawowych funkcji i informacji o aplikacji w Sklepie Play:

  • Aplikacja musi mieć możliwość wykonywania funkcji, w przypadku której jest domyślnym modułem obsługi. Na przykład domyślna aplikacja do obsługi SMS-ów musi mieć możliwość wysyłania SMS-ów.
  • Aplikacja musi zawierać politykę prywatności.
  • Aplikacja musi wyraźnie informować o swojej głównej funkcjonalności w opisie w Sklepie Play. Na przykład domyślna aplikacja do obsługi telefonu powinna opisywać swoje możliwości związane z telefonem w opisie.
  • Aplikacja musi zadeklarować uprawnienia, które są odpowiednie w danym przypadku użycia. Więcej informacji o uprawnieniach, które możesz zadeklarować jako dany moduł obsługi, znajdziesz w wytycznych dotyczących używania grup uprawnień do rejestru połączeń lub SMS-ów w Centrum pomocy Konsoli Play.
  • Aplikacja musi poprosić, aby została ustawiona jako domyślny moduł obsługi, zanim poprosi o uprawnienia powiązane z tym modułem. Na przykład, zanim aplikacja zażąda uprawnienia READ_SMS, musi poprosić, aby stała się domyślną aplikacją do obsługi SMS-ów.

Gdy upewnisz się, że aplikacja spełnia wszystkie wymagania konieczne, aby zostać domyślnym modułem obsługi, możesz dodać logikę, aby wyświetlić okno dialogowe pokazane na ilustracji 3. W tym oknie pojawia się prośba do użytkownika o ustawienie aplikacji jako domyślnego modułu obsługi w danym przypadku.

Zrzut ekranu z oknem widocznym dla użytkownika
Rysunek 3. Monit z pytaniem, czy użytkownik chce zmienić domyślną moduł obsługi SMS-ów na urządzeniu.

Ten przykładowy kod pokazuje działanie niezbędne do wyświetlenia komunikatu z prośbą o zmianę domyślnej obsługi SMS-ów na urządzeniu:

Kotlin

val setSmsAppIntent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT)
setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName)
startActivityForResult(setSmsAppIntent, your-result-code)

Java

Intent setSmsAppIntent =
        new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
setSmsAppIntent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,
        getPackageName());
startActivityForResult(setSmsAppIntent, your-result-code);