Wysyłanie prośby o uprawnienia w Wear OS

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.
Rysunek 1. Ekrany uprawnień wyświetlane jeden po drugim.
.

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.
Rysunek 2. Wyślij użytkownika na telefon, aby przyznać uprawnienia.

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.
Rysunek 3. Wyślij użytkownika do urządzenia do noszenia, aby przyznać uprawnienia uprawnienia.

Aplikacja Telefon prosi o kilka uprawnień jednocześnie

Rysunek 4. Okno uprawnień, które używa profilu urządzenia towarzyszącego do: wiele uprawnień w jednej prośbie.

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.
Rysunek 5. Poproś o uprawnienia w kontekście.

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.
Rysunek 6. Edukacja w kontekście.

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.
Rysunek 7. Ikona blokady wskazująca, że funkcja jest zablokowana z powodu: odmowa uprawnień.

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.
Rysunek 8. Użytkownik ma dostęp do prośby o uprawnienia która wcześniej została odrzucona dwukrotnie w Ustawieniach.

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.
Rysunek 9. Użytkownik może zmienić uprawnienia w aplikacji Ustawienia.
.
.