keywords: wear, permissions, collection_guideslandingwear image_path: images/training/wear/multiple_permissions.png
Żądanie uprawnień na Wear OS jest podobne do żądania uprawnień w aplikacjach mobilnych, z kilkoma dodatkowymi przypadkami użycia. W tym dokumencie zakładamy, że wiesz, jak działają uprawnienia na Androidzie. Jeśli nie, dowiedz się, jak działają uprawnienia na Androidzie.
Podobnie jak w przypadku aplikacji mobilnej użytkownik musi przyznać aplikacji na Wear uprawnienia dostępu do niektórych funkcji. W aplikacjach na Wear zapewniaj przydatne funkcje bez proszenia o żadne uprawnienia.
Scenariusze uprawnień
Podczas wysyłania prośby o niebezpieczne uprawnienia na urządzeniu z Wear OS możesz napotkać kilka scenariuszy:
Aplikacja Wear prosi o uprawnienia do aplikacji działającej na urządzeniu do noszenia.
Aplikacja Wear prosi o uprawnienia do aplikacji działającej na telefonie.
Aplikacja na telefon prosi o uprawnienia dla aplikacji działającej na urządzeniu do noszenia.
Aplikacja na telefon prosi o wiele uprawnień, które mogą być używane tylko wtedy, gdy urządzenie do noszenia jest połączone.
Aby zobaczyć wszystkie te scenariusze w działającej aplikacji, zapoznaj się z przykładową aplikacją ExerciseSampleCompose w GitHubie.
W sekcjach poniżej znajdziesz opis każdego z tych scenariuszy. Więcej informacji o prośbach o uprawnienia znajdziesz w sekcji Wzorce próśb o uprawnienia.
Aplikacja na zegarek prosi o uprawnienia na urządzeniu do noszenia
Gdy aplikacja na Wear prosi o uprawnienia dla aplikacji działającej na urządzeniu do noszenia, system wyświetla okno z prośbą o przyznanie tych uprawnień. W aplikacji proś o uprawnienia tylko wtedy, gdy użytkownik rozumie, dlaczego są one potrzebne do wykonania danego działania.
Zapoznaj się z zasadami dotyczącymi uprawnień, aby zapewnić użytkownikom jak najlepsze wrażenia. Pamiętaj, aby w razie potrzeby shouldShowRequestPermissionRationale()
sprawdzić i dodać dodatkowe informacje.
Jeśli aplikacja lub tarcza zegarka wymaga więcej niż jednego uprawnienia naraz, prośby o uprawnienia pojawiają się jedna po drugiej.

Aplikacja na zegarek prosi o uprawnienia do telefonu
Gdy aplikacja na zegarek poprosi o uprawnienia na telefonie – na przykład aplikacja na zegarek chce uzyskać dostęp do zdjęć lub innych danych wrażliwych w wersji mobilnej aplikacji – musi przekierować użytkownika na telefon, aby zaakceptował uprawnienia. Aplikacja na telefon może tam przekazywać użytkownikowi dodatkowe informacje za pomocą aktywności. W aktywności umieść 2 przyciski: jeden do przyznawania uprawnień, a drugi do ich odrzucania.

Aplikacja Telefon prosi o uprawnienia do urządzenia do noszenia
Jeśli użytkownik korzysta z aplikacji na telefonie, która wymaga uprawnień na urządzeniu do noszenia – np. do wstępnego wczytywania muzyki na wypadek odłączenia telefonu – aplikacja na telefonie przekieruje użytkownika na urządzenie do noszenia, aby zaakceptował uprawnienia. Wersja aplikacji na urządzenie do noszenia używa metody requestPermissions()
do wywoływania okna uprawnień systemowych.

Aplikacja Telefon prosi o wiele uprawnień jednocześnie

Aplikacje partnerów na Androidzie 12 (poziom interfejsu API 31) i nowszym mogą używać profili urządzenia towarzyszącego podczas łączenia się z zegarkiem. Użycie profilu upraszcza proces rejestracji, ponieważ łączy przyznawanie zestawu uprawnień specyficznych dla typu urządzenia w jednym kroku.
Uprawnienia pakietowe są przyznawane aplikacji towarzyszącej po połączeniu urządzenia i obowiązują tylko wtedy, gdy urządzenie jest powiązane. Usunięcie aplikacji lub usunięcie powiązania spowoduje usunięcie uprawnień. Więcej informacji znajdziesz w sekcji AssociationRequest.Builder.setDeviceProfile()
.
Wzorce próśb o uprawnienia
Istnieją różne wzorce proszenia użytkowników o uprawnienia. W kolejności priorytetów są to:
Proś o uprawnienia w kontekście, gdy są one wyraźnie niezbędne do działania konkretnej funkcji, ale nie są konieczne do uruchomienia całej aplikacji.
Wyjaśniaj w kontekście, gdy powód żądania uprawnień nie jest oczywisty, a uprawnienia nie są niezbędne do działania aplikacji jako całości.
Te wzorce są opisane w kolejnych sekcjach.
Zadawanie pytań w kontekście
Wyświetlaj prośby o uprawnienia, gdy użytkownik rozumie, dlaczego są one potrzebne do wykonania danej operacji. Użytkownicy chętniej przyznają uprawnienia, gdy rozumieją ich związek z funkcją, której chcą używać.
Na przykład aplikacja może wymagać lokalizacji użytkownika, aby wyświetlać pobliskie miejsca zainteresowania. Gdy użytkownik kliknie, aby wyszukać miejsca w pobliżu, aplikacja może od razu poprosić o zezwolenie na dostęp do lokalizacji, ponieważ istnieje wyraźny związek między wyszukiwaniem miejsc w pobliżu a koniecznością uzyskania tego zezwolenia. Oczywistość tej relacji sprawia, że aplikacja nie musi wyświetlać dodatkowych ekranów edukacyjnych.

Edukacja w kontekście
Ilustracja 6 przedstawia przykład edukacji w kontekście. Aplikacja nie wymaga uprawnień do uruchomienia timera, ale w treści pojawia się informacja, że część aktywności – wykrywanie lokalizacji – jest zablokowana. Gdy użytkownik kliknie podpowiedź, pojawi się ekran z prośbą o przyznanie uprawnień, który umożliwi mu odblokowanie wykrywania lokalizacji.
Użyj metody
shouldShowRequestPermissionRationale()
aby pomóc aplikacji zdecydować, czy ma podać więcej informacji. Więcej informacji znajdziesz w artykule Prośba o uprawnienia aplikacji. Możesz też sprawdzić, jak przykładowa aplikacja głośnikowa w GitHubie wyświetla informacje.

Radzenie sobie z odrzuceniem
Jeśli użytkownik odmówi przyznania uprawnień, które nie są kluczowe dla zamierzonego działania, nie blokuj mu możliwości kontynuowania tego działania. Jeśli niektóre części działania są wyłączone z powodu odmowy uprawnień, podaj wizualne, przydatne informacje zwrotne.
Ilustracja 7 pokazuje ikonę blokady, która wskazuje, że funkcja jest zablokowana, ponieważ użytkownik nie przyznał uprawnień do jej używania.

Gdy po raz drugi pojawi się okno z prośbą o przyznanie uprawnień do urządzenia, które wcześniej zostało odrzucone, będzie ono zawierać opcję Odrzuć i nie pokazuj ponownie. Jeśli użytkownik wybierze tę opcję, jedynym sposobem na przyznanie tego uprawnienia w przyszłości będzie przejście do aplikacji Ustawienia na urządzeniu do noszenia.

Dowiedz się więcej o tym, jak postępować w przypadku odmowy przyznania uprawnień.
Uprawnienia dotyczące usług
Tylko działanie może wywołać metodę requestPermissions()
. Jeśli użytkownik wchodzi w interakcję z aplikacją za pomocą usługi, np. tarczy zegarka, usługa musi otworzyć działanie, zanim poprosi o uprawnienie. W ramach tej aktywności wyjaśnij, dlaczego to uprawnienie jest potrzebne.
Zasadniczo nie proś o uprawnienia do tarczy zegarka. Zamiast tego zaimplementuj komplikację i pozwól użytkownikowi wybrać, które dane mają być wyświetlane.
Ustawienia
Użytkownik może w każdej chwili zmienić uprawnienia aplikacji na Wear w Ustawieniach. Gdy użytkownik spróbuje wykonać działanie wymagające uprawnień, najpierw wywołaj metodę checkSelfPermission()
, aby sprawdzić, czy aplikacja ma uprawnienia do wykonania tej operacji.
Sprawdź to nawet wtedy, gdy użytkownik wcześniej przyznał uprawnienia, ponieważ mógł je później cofnąć.

Polecane dla Ciebie
- Uwaga: tekst linku jest wyświetlany, gdy JavaScript jest wyłączony.
- Prośba o uprawnienia czasu działania
- Uprawnienia Bluetooth
- Komunikacja w tle