Wear OS'te izin isteme

Wear OS'te izin isteme, şurada izin istemeye benzer: birkaç ek kullanım alanıyla birlikte. Bu belgede, Android izinlerinin işleyiş şeklini daha iyi kavrayacaksınız. Yoksa izinlerin Android'de çalışır.

Mobil uygulamalarda olduğu gibi, kullanıcının bir Wear uygulamasına belirli işlevlere erişmelerini sağlayabilir. Wear uygulamalarınızda anlamlı işlevsellik izin verir.

İzin senaryoları

Bu istekte bulunurken karşılaşabileceğiniz birkaç senaryo vardır. tehlikeli izinler Wear OS'te:

  • Wear uygulaması, giyilebilir cihazda çalışan bir uygulama için izin istiyor olanak tanır.

  • Wear uygulaması, telefonda çalışan bir uygulama için izin ister.

  • Telefon uygulaması, giyilebilir cihazda çalışan bir uygulama için izin istiyor olanak tanır.

  • Telefon uygulaması, yalnızca bağlı olduğundan emin olun.

Tüm bu senaryoları çalışan bir uygulamada görmek için ExcersizeÖrnekYazma örneği ziyaret edin.

Aşağıdaki bölümlerde bu senaryoların her biri açıklanmaktadır. Daha ayrıntılı daha fazla bilgi için bkz. İzin isteği kalıpları bölümüne bakın.

Wear uygulaması, giyilebilir cihaz izni istiyor

Wear uygulaması, giyilebilir cihazda çalışan bir uygulama için izin istediğinde sistemde, kullanıcıdan bu izni isteyen bir iletişim kutusu görüntülenir. Uygulamanızda yalnızca, kullanıcının belirli bir işlemi gerçekleştirmek için gereken izinler

İzin ilkelerini inceleyin kullanıcılarınıza en iyi deneyimi sunduğunuzdan emin olmak için kontrol etmek için shouldShowRequestPermissionRationale() ve ek bilgi sağlayın gerekir.

Bir uygulama veya kadran için aynı anda birden fazla izin gerekiyorsa izin birbiri ardına gösterilir.

Birbiri ardına olacak şekilde birden fazla izin ekranı.
Şekil 1. İzin ekranları sırayla gösteriliyor.
ziyaret edin.
'nı inceleyin.

Wear uygulaması telefon izni istiyor

Wear uygulaması telefon izni istediğinde (örneğin, giyilebilir bir uygulama Fotoğraflara veya diğer hassas verilere erişmek için uygulamanın mobil sürümünü kullanabilirsiniz. Wear uygulaması, izni kabul etmek için kullanıcıyı telefona göndermelidir. Burada, telefon uygulaması, bir etkinlik kullanarak kullanıcıya ek bilgiler sağlayabilir. Etkinlikte biri izni vermek, diğeri izni vermek için olmak üzere iki düğme ekleyin reddettiğiniz için teşekkür ederiz.

Wear uygulaması, izin vermesi için kullanıcıyı telefona gönderir.
Şekil 2. İzin vermesi için kullanıcıyı telefona gönderin.

Telefon uygulaması giyilebilir cihaz izni istiyor

Kullanıcı bir telefon uygulamasındaysa ve uygulama giyilebilir cihaz iznine ihtiyaç duyuyorsa Örneğin, telefonun bağlantısının kesilmesi ihtimaline karşı müziği (telefon uygulaması) önceden yüklemek için Kullanıcı izni kabul etmesi için kullanıcıyı giyilebilir cihaza gönderir. Giyilebilir cihaz sürümü için requestPermissions() yöntemini çağırın.

Telefon uygulaması, izin vermek için kullanıcıyı giyilebilir cihaza gönderir.
Şekil 3. İzin vermesi için kullanıcıyı giyilebilir cihaza iznidir.

Telefon uygulaması aynı anda birden fazla izin ister

Şekil 4. Şu işlemler için tamamlayıcı cihaz profili kullanan bir izinler iletişim kutusu tek bir istekte birden çok izin isteyebilir.

Android 12 (API düzeyi 31) ve sonraki sürümlerdeki iş ortağı uygulamaları, tamamlayıcı cihazı kullanabilir profil oluşturabilirsiniz. Profil kullanmak kayıt işlemini kolaylaştırır gruplayarak bir cihaz türüne özel izin grubu tek bir adımda takip edebilirsiniz.

Paket halinde sunulan izinler, cihaz bir kez tamamlayıcı uygulamaya verilir. bağlanır ve yalnızca cihaz ilişkilendirildiği sürece geçerlidir. Uygulamayı silme veya İlişkilendirme kaldırıldığında izinler de kaldırılır. Ayrıntılar için bkz. AssociationRequest.Builder.setDeviceProfile().

İzin isteği kalıpları

Kullanıcılardan izin istemek için farklı kalıplar vardır. Şu sıralamaya göre: en önemli öncelikleri şudur:

  • Bir iznin açık bir şekilde gerekli olduğu bir durumda Ancak uygulamanın tamamının çalışması için gerekli değildir.

  • İzni isteme sebebinizin uygun olmadığını belirterek bilgi verin. ve iznin uygulamanın tamamının çalışması için gerekli olmadığı anlamına gelir.

Bu kalıplar aşağıdaki bölümlerde açıklanmıştır.

Bağlam içinde sor

İznin neden gerekli olduğu kullanıcı tarafından net olarak anlaşıldığında izin iste belirten bir uyarı alır. Kullanıcıların aşağıdaki durumlarda izin verme olasılığı artar: kullanmak istedikleri özellikle olan bağlantısını anlamalarına yardımcı olur.

Örneğin, bir uygulamada yakındaki yerleri göstermek için kullanıcının konum bilgisi gerekebilir sağlayabilir. Kullanıcı yakındaki yerleri aramak için dokunduğunda uygulama ve sizden hemen konum izni isteyebilir çünkü yakındaki yerleri arama ve konuma ihtiyaç duyma arasındaki ilişki iznidir. Bu ilişkinin açıkça görülebilmesi, uygulamasını kullanın.

Uygulama, açıkça gerekli olduğunda izin istiyor.
Şekil 5. Bağlama uygun bir izin isteyin.

Bağlama dayalı eğitim

Şekil 6'da bağlam içi eğitim örneği gösterilmektedir. Uygulama, zamanlayıcıyı başlatma izni var ancak satır içi eğitim işareti gösteriliyor etkinliğin o kısmı (konum algılama) kilitlendiğinde. Kullanıcı kullanıcının konumun kilidini açmasına izin veren bir izin isteği ekranı görüntülenir. tespit edebilir.

Şunu kullanın: shouldShowRequestPermissionRationale() karar vermenize yardımcı olacak bir yöntem sunar. Örneğin, daha fazla bilgi için Uygulama isteme izinleriyle ilgili daha fazla bilgi edinin. Alternatif olarak GitHub'daki hoparlör örnek uygulamasının, geleneksel seslendirmeleri bakın.

Bir izin gerektiğinde söz konusu iznin neden gerekli olduğu uygulama tarafından açıklanır.
Şekil 6. Bağlama uygun eğitimler verin.

Herkese açık kullanıcı adı reddi

Kullanıcı, istenen bir izin için kritik olmayan, istenen bir izni reddederse bu etkinliğe devam etmesini engellemeyin. Projenin belirli kısımları etkinlik reddedilen izin tarafından devre dışı bırakılmış, görsel ve işlem yapılabilir geri bildirim.

Şekil 7'de bir özelliğin kilitli olduğunu belirtmek için kilit simgesi kullanımı gösterilmektedir çünkü kullanıcı öğeyi kullanma izni vermedi.

Kullanıcı izin reddettiğinde, ilişkili özelliğin yanında bir kilit simgesi gösterilir.
Şekil 7. Bir özelliğin şu nedenle kilitli olduğunu gösteren kilit simgesi: izni reddetti.

Daha önce reddedilmiş bir giyilebilir cihaz izni iletişim kutusu ikinci kez göründüğünde Reddet, bir daha gösterme seçeneği içerir. Kullanıcı bu seçeneği belirlerse gelecekte bu izni vermelerinin tek yolu Ayarlar uygulamasına gidin.

Sistem, izin istemeyi durdurmayı teklif ediyor.
Şekil 8. Kullanıcı bir izin isteğine erişebilir Ayarlar'dan iki kez reddedilmişse.

Reddedilen izinlerin nasıl ele alınacağı hakkında daha fazla bilgi edinin.

Hizmetler için izinler

Yalnızca bir etkinlik requestPermissions() Bu durumda kullanıcı, bir hizmet kullanarak uygulamanızla etkileşime girerse (örneğin, - Hizmet, istekte bulunmadan önce bir etkinliği açmalıdır. iznidir. Bu etkinlikte, değerlendirmenin neden gereklidir.

Genel olarak, kadran için izin istemeyin. Bunun yerine bir komplikasyon oluşturur ve kullanıcının özellik ile hangi verilerin gösterileceğini seçin.

Ayarlar

Kullanıcı, Wear uygulamasının izinlerini dilediği zaman Ayarlar'dan değiştirebilir. kullanıcı izin gerektiren bir işlem yapmaya çalışıyorsa önce checkSelfPermission() yöntemini kullanın.

Bu kontrolü, kullanıcı daha önce Kullanıcı daha sonra iptal etmiş olabileceğinden, ilgili izni vermiştir.

Kullanıcı, izinleri Ayarlar uygulaması üzerinden değiştirebilir.
Şekil 9. Kullanıcı, Ayarlar uygulamasını kullanarak izinleri değiştirebilir.
ziyaret edin.
'nı inceleyin. ziyaret edin.