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ı.](https://developer.android.com/static/images/training/wear/multiple_permissions.png?authuser=6&hl=tr)
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.](https://developer.android.com/static/images/training/wear/open_on_phone.png?authuser=6&hl=tr)
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.](https://developer.android.com/static/images/training/wear/phone_requests_wear.png?authuser=6&hl=tr)
Telefon uygulaması aynı anda birden fazla izin ister
![](https://developer.android.com/static/images/training/wear/companion-device-profile.png?authuser=6&hl=tr)
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.](https://developer.android.com/static/images/training/wear/ask_in_context.png?authuser=6&hl=tr)
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.](https://developer.android.com/static/images/training/wear/educate_in_context.png?authuser=6&hl=tr)
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.](https://developer.android.com/static/images/training/wear/deny.png?authuser=6&hl=tr)
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.](https://developer.android.com/static/images/training/wear/ask_again.png?authuser=6&hl=tr)
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.](https://developer.android.com/static/images/training/wear/for_settings.png?authuser=6&hl=tr)
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir
- Çalışma zamanı izinleri iste
- Bluetooth izinleri
- Arka planda iletişim kurma