Prośby o uprawnienia w Wear OS są podobne do próśb o uprawnienia w aplikacji mobilnych, z kilkoma dodatkowymi przypadkami użycia. W tym dokumencie zakładamy, że jak działają uprawnienia Androida. Jeśli nie, sprawdź, jak działają na urządzeniach z Androidem.
Tak jak w przypadku aplikacji mobilnej, użytkownik musi przyznać uprawnienia aplikacji na Wear na dostęp do określonych funkcji. W aplikacjach na Wear podaj istotne informacje funkcji bez wysyłania żądania uprawnień.
Scenariusze dotyczące uprawnień
Przy wysyłaniu prośby może wystąpić kilka scenariuszy. niebezpieczne uprawnienia na Wear OS:
Aplikacja na Wear prosi o uprawnienia aplikacji uruchomionej na urządzeniu do noszenia urządzenia.
Aplikacja na Wear prosi o uprawnienia aplikacji uruchomionej na telefonie.
Aplikacja Telefon prosi o uprawnienia aplikacji uruchomionej na urządzeniu do noszenia urządzenia.
Aplikacja Telefon prosi o wiele uprawnień, których można używać tylko wtedy, urządzenie do noszenia jest połączone.
Aby zobaczyć wszystkie te scenariusze, gdy działająca aplikacja działa, zapoznaj się z ExcersizeSampleCompose znajdziesz na GitHubie.
W sekcjach poniżej opisujemy każdy z tych scenariuszy. Więcej szczegółów informacje na temat wysyłania próśb o uprawnienia znajdziesz w sekcji Prośba o uprawnienia wzorów.
Aplikacja na Wear prosi o uprawnienia do noszenia
Gdy aplikacja Wear prosi o uprawnienia dla aplikacji uruchomionej na urządzeniu do noszenia system wyświetla użytkownikowi okno z prośbą o przyznanie Ci tych uprawnień. W aplikacji prosij o uprawnienia tylko wtedy, gdy jest jasne dla użytkownika, dlaczego uprawnień wymaganych do wykonania danej operacji.
Zapoznaj się z zasadami dotyczącymi uprawnień
aby zapewnić użytkownikom najlepsze wrażenia.
aby sprawdzić
shouldShowRequestPermissionRationale()
.
i podaj dodatkowe informacje
w razie potrzeby.
Jeśli aplikacja lub tarcza zegarka wymaga więcej niż 1 uprawnienia naraz, pojawiają się jedna po drugiej.
![Wiele ekranów uprawnień, jeden po drugim.](https://developer.android.google.cn/static/images/training/wear/multiple_permissions.png?authuser=6&hl=pl)
Aplikacja na Wear prosi o przyznanie uprawnień do korzystania z telefonu
Gdy aplikacja na Wear prosi o przyznanie uprawnień do korzystania z telefonu – na przykład aplikacja na urządzeniu do noszenia prosi o dostęp dostępu do zdjęć i innych danych wrażliwych w wersji mobilnej aplikacji, Aplikacja na Wear musi wysłać użytkownika do telefonu, aby zaakceptować uprawnienie. Ta, aplikacja Telefon może dostarczać użytkownikowi dodatkowe informacje za pomocą aktywności. Umieść w ćwiczeniu 2 przyciski: jeden do przyznawania uprawnień i jeden do przyznawania uprawnień. za jego odrzucenie.
![Aplikacja na Wear wysyła użytkownika do telefonu, aby przyznać uprawnienia.](https://developer.android.google.cn/static/images/training/wear/open_on_phone.png?authuser=6&hl=pl)
Aplikacja Telefon prosi o uprawnienia do noszenia
Jeśli użytkownik korzysta z aplikacji na telefon, a aplikacja wymaga uprawnień do noszenia –
(na przykład aby wstępnie ładować muzykę w razie utraty połączenia telefonu – aplikacja Telefon,
wysyła użytkownika do urządzenia do noszenia, aby zaakceptować uprawnienia. Urządzenia do noszenia
ta wersja aplikacji korzysta z
requestPermissions()
do wywołania okna uprawnień systemowych.
![Aplikacja Telefon wysyła użytkownika do urządzenia do noszenia, aby przyznać uprawnienia.](https://developer.android.google.cn/static/images/training/wear/phone_requests_wear.png?authuser=6&hl=pl)
Aplikacja Telefon prosi o kilka uprawnień jednocześnie
![](https://developer.android.google.cn/static/images/training/wear/companion-device-profile.png?authuser=6&hl=pl)
Aplikacje partnerów na Androidzie 12 (poziom interfejsu API 31) lub nowszym mogą używać urządzenia towarzyszącego profile przy połączeniu z zegarkiem. Użycie profilu upraszcza rejestrację przez łączenie w pakiecie zestawu uprawnień dla danego typu urządzenia. z poziomu jednego kroku.
Uprawnienia zawarte w pakiecie są przyznawane aplikacji towarzyszącej, gdy urządzenie
nawiązuje połączenie i działa tylko wtedy, gdy urządzenie jest powiązane. usunięcie aplikacji lub
usunięcie powiązania powoduje też usunięcie uprawnień. Więcej informacji:
AssociationRequest.Builder.setDeviceProfile()
.
Wzorce próśb o przyznanie uprawnień
Istnieją różne wzorce próśb o przyznanie od użytkowników uprawnień. W kolejności są ważne, ponieważ:
Pytaj w kontekście, gdy uprawnienie jest oczywiście niezbędne w przypadku określonych funkcji, ale nie są niezbędne do działania całej aplikacji.
Edukacja w kontekście, gdy powód prośby o uprawnienie nie jest i nie jest wymagane do działania całej aplikacji.
Wzorce te objaśniamy w dalszej części tego artykułu.
Zapytaj w kontekście
Poproś o przyznanie uprawnień, gdy użytkownik będzie mieć jasne na to, dlaczego te uprawnienia są potrzebne do wykonania danej operacji. Użytkownicy z większym prawdopodobieństwem przyznają uprawnienie, gdy wie, że jest on powiązany z funkcją, której chce użyć.
Aplikacja może na przykład wymagać lokalizacji użytkownika, aby wyświetlać miejsca w pobliżu w interesie publicznym. Gdy użytkownik kliknie, aby wyszukać miejsca w pobliżu, aplikacja może natychmiast prosi o dostęp do lokalizacji, ponieważ jest wyraźna związku między wyszukiwaniem miejsc w pobliżu a potrzebą określania lokalizacji uprawnienia. Oczyowość tej relacji sprawia, że nie ma potrzeby, aby wyświetlić dodatkowe ekrany edukacyjne.
![Aplikacja prosi o uprawnienia, gdy jest to oczywiste.](https://developer.android.google.cn/static/images/training/wear/ask_in_context.png?authuser=6&hl=pl)
Edukacja w kontekście
Rysunek 6 pokazuje przykład edukacji kontekstowej. Aplikacja nie wymaga uprawnień do uruchomienia minutnika, ale pojawia się wbudowana wskazówka edukacyjna. ta część aktywności – wykrywanie lokalizacji – jest zablokowana. Gdy użytkownik kliknie ikonę wyświetli się ekran z prośbą o pozwolenie, który umożliwi użytkownikowi odblokowanie lokalizacji .
Użyj
shouldShowRequestPermissionRationale()
pomaga aplikacji w podjęciu decyzji, czy podać więcej informacji. Dla:
dodatkowe informacje: Prośba o aplikację
. Ewentualnie
może sprawdzić, jak przykładowa aplikacja
głośnika na GitHubie obsługuje wyświetlające
informacje.
![Gdy zachodzi potrzeba przyznania uprawnień, aplikacja wyjaśnia, dlaczego jest konieczne.](https://developer.android.google.cn/static/images/training/wear/educate_in_context.png?authuser=6&hl=pl)
Obsługa odrzucenia
Jeśli użytkownik odmówi przyznania uprawnień, które nie mają kluczowego znaczenia dla zamierzonego aktywności, nie blokuj jej kontynuowania. Jeśli określone części działanie jest wyłączone z powodu niedozwolonych uprawnień; wyświetla obraz, umożliwia podjęcie działań opinie.
Rysunek 7 pokazuje wykorzystanie ikony blokady do wskazywania, że funkcja jest zablokowana. bo użytkownik nie wyraził zgody na jego użycie.
![Jeśli użytkownik odmówi przyznania uprawnień, obok powiązanej funkcji wyświetli się ikona kłódki.](https://developer.android.google.cn/static/images/training/wear/deny.png?authuser=6&hl=pl)
Jeśli okno uprawnień do noszenia, które zostało wcześniej odrzucone, pojawi się po raz drugi, zawiera opcję Odrzuć, nie pokazuj ponownie. Jeśli użytkownik wybierze tę opcję, to jedynym sposobem na jego przyznanie w przyszłości jest przejście w aplikacji Ustawienia na urządzeniu do noszenia.
![System proponuje, że nie będzie już prosić o uprawnienia.](https://developer.android.google.cn/static/images/training/wear/ask_again.png?authuser=6&hl=pl)
Dowiedz się więcej o tym, jak radzić sobie z odmową uprawnień.
Uprawnienia dotyczące usług
Tylko działanie może wywołać metodę
requestPermissions()
, więc jeśli użytkownik wejdzie w interakcję z aplikacją, korzystając z usługi – na przykład
za pomocą tarczy zegarka – usługa musi otworzyć działanie przed wysłaniem żądania
uprawnienia. W ramach tego ćwiczenia podaj dodatkowe informacje na temat tego, dlaczego
Potrzebne są uprawnienia.
Ogólnie nie proś o uprawnienia do tarczy zegarka. Zamiast tego zaimplementuj widżet i umożliwić użytkownikowi wybrać, które dane mają być wyświetlane w widżecie.
Ustawienia
Użytkownik może w każdej chwili zmienić uprawnienia aplikacji na Wear w Ustawieniach. Gdy
użytkownik próbuje zrobić coś, co wymaga uprawnień, najpierw wywołaj funkcję
checkSelfPermission()
aby sprawdzić, czy aplikacja ma uprawnienia do wykonania danej operacji.
Sprawdź to, nawet jeśli użytkownik wcześniej przyznane uprawnienia, ponieważ użytkownik mógł je później odebrać.
![Użytkownik może zmienić uprawnienia w aplikacji Ustawienia.](https://developer.android.google.cn/static/images/training/wear/for_settings.png?authuser=6&hl=pl)
Polecane dla Ciebie
- Uwaga: tekst linku wyświetla się, gdy JavaScript jest wyłączony
- Wysyłanie prośby o uprawnienia w czasie działania
- Uprawnienia Bluetooth
- Komunikacja w tle