keywords: wear, permissions, collection_guideslandingwear image_path: images/training/wear/multiple_permissions.png
Wear OS'te izin isteme, mobil uygulamalarda izin istemeye benzer. Ancak birkaç ek kullanım alanı vardır. Bu belgede, Android izinlerinin işleyiş şeklini bildiğiniz varsayılmaktadır. Bu durumda Android'de izinlerin nasıl çalıştığını inceleyin.
Mobil uygulamalarda olduğu gibi, kullanıcı belirli işlevlere erişmek için Wear uygulamasına izin vermelidir. Wear uygulamalarınızda herhangi bir izin istemeden anlamlı işlevler sunun.
İzin senaryoları
Wear OS'te tehlikeli izinler isterken karşılaşabileceğiniz birkaç senaryo vardır:
Wear uygulaması, giyilebilir cihazda çalışan bir uygulama için izin ister.
Wear uygulaması, telefonda çalışan bir uygulama için izin ister.
Telefon uygulaması, giyilebilir cihazda çalışan bir uygulama için izin ister.
Telefon uygulaması, yalnızca giyilebilir cihaz bağlıyken kullanılabilecek birden fazla izin istiyor.
Bu senaryoların tamamını çalışan bir uygulamada görmek için GitHub'daki ExerciseSampleCompose örneğini inceleyin.
Aşağıdaki bölümlerde bu senaryoların her biri açıklanmaktadır. İzin isteme hakkında daha ayrıntılı bilgi için İ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 sistem, kullanıcıya bu izni isteyen bir iletişim kutusu gösterir. Uygulamanızda, kullanıcının belirli bir işlemi gerçekleştirmek için neden izinlere ihtiyaç duyulduğunu net bir şekilde anlayabildiği durumlarda izin isteyin.
Kullanıcılarınıza en iyi deneyimi sunduğunuzdan emin olmak için izin ilkelerini inceleyin ve gerektiğinde shouldShowRequestPermissionRationale()
ek bilgiler sağlamayı unutmayın.
Bir uygulama veya kadran aynı anda birden fazla izin gerektiriyorsa izin istekleri birbiri ardına gösterilir.

Wear uygulaması telefon izni istiyor
Wear uygulaması bir telefon izni istediğinde (ör. bir giyilebilir cihaz uygulaması, uygulamanın mobil sürümündeki fotoğraflara veya diğer hassas verilere erişmek istediğinde) Wear uygulaması, kullanıcının izni kabul etmesi için telefonu kullanmasını sağlamalıdır. Burada, telefon uygulaması bir etkinlik kullanarak kullanıcıya ek bilgiler sağlayabilir. Etkinliğe iki düğme ekleyin: biri izni vermek, diğeri ise izni reddetmek için.

Telefon uygulaması, giyilebilir cihaz izni istiyor
Kullanıcı bir telefon uygulamasındayken uygulama, giyilebilir cihaz izni gerektiriyorsa (ör. telefonun bağlantısı kesilmesi durumunda müzik önceden yüklenmelidir) telefon uygulaması, kullanıcıyı izni kabul etmesi için giyilebilir cihaza yönlendirir. Uygulamanın giyilebilir cihaz sürümü, sistem izinleri iletişim kutusunu tetiklemek için requestPermissions()
yöntemini kullanıyor.

Telefon uygulaması aynı anda birden fazla izin istiyor

Android 12 (API düzeyi 31) ve sonraki sürümlerdeki iş ortağı uygulamaları, kol saatine bağlanırken yardımcı cihaz profillerini kullanabilir. Profil kullanmak, cihaza özel bir izin grubunun verilmesini tek bir adımda birleştirerek kaydolma sürecini basitleştirir.
Paketlenmiş izinler, cihaz bağlandıktan sonra yardımcı uygulamaya verilir ve yalnızca cihaz ilişkilendirildiği sürece geçerli olur. Uygulamanın silinmesi veya ilişkilendirmenin kaldırılması izinleri de kaldırır. Ayrıntılı bilgi için AssociationRequest.Builder.setDeviceProfile()
başlıklı makaleyi inceleyin.
İzin isteği kalıpları
Kullanıcılardan izin istemek için farklı kalıplar vardır. Öncelik sırasına göre bunlar:
İzin, belirli bir işlev için açıkça gerekli olduğunda ancak uygulamanın genel olarak çalışması için gerekli olmadığında bağlam içinde izin isteyin.
İzin isteme nedeni açık olmadığında ve izin, uygulamanın genel olarak çalışması için gerekli olmadığında bağlam içinde bilgi verin.
Bu kalıplar aşağıdaki bölümlerde açıklanmıştır.
Bağlam içinde soru sorma
Kullanıcıya belirli bir işlemi gerçekleştirmek için neden izin gerektiği açıkça belirtildiğinde izin isteyin. Kullanıcıların, kullanmak istedikleri özellikle bağlantısını anladıkları izinleri verme olasılığı daha yüksektir.
Örneğin, bir uygulama yakındaki ilgi çekici yerleri göstermek için kullanıcının konumunu isteyebilir. Kullanıcı yakındaki yerleri aramak için dokunduğunda uygulama, yakındaki yerleri arama ile konum izni ihtiyacı arasında net bir ilişki olduğundan konum iznini hemen isteyebilir. Bu ilişkinin açık olması, uygulamanın ek eğitim ekranları göstermesini gereksiz kılar.

Yeri geldiği zaman bilgi verin
Şekil 6'da bağlama dayalı eğitim örneği gösterilmektedir. Uygulama, zamanlayıcıyı başlatmak için izin gerektirmez ancak satır içi eğitici bir ipucu, etkinliğin bir bölümünün (konum algılama) kilitli olduğunu gösterir. Kullanıcı ipucuna dokunduğunda, konum algılamanın kilidini açmasına olanak tanıyan bir izin isteği ekranı gösterilir.
Uygulamanızın daha fazla bilgi verip vermeyeceğine karar vermesine yardımcı olmak için
shouldShowRequestPermissionRationale()
yöntemini kullanın. Daha fazla bilgi için Uygulama izinleri isteme başlıklı makaleyi inceleyin. Alternatif olarak, GitHub'daki hoparlör örnek uygulamasının bilgi gösterme işlemini nasıl yaptığını inceleyebilirsiniz.

Reddedilmeyi ele alma
Kullanıcı, amaçlanan bir etkinlik için kritik olmayan bir izni reddederse etkinliğe devam etmesini engellemeyin. Etkinliğin belirli bölümleri reddedilen izin nedeniyle devre dışı bırakılırsa görsel ve uygulanabilir geri bildirim sağlayın.
Şekil 7'de, kullanıcının özelliği kullanma izni vermemesi nedeniyle özelliğin kilitlendiğini belirtmek için kilit simgesinin kullanıldığı gösterilmektedir.

Daha önce reddedilen bir giyilebilir cihaz izni iletişim kutusu ikinci kez göründüğünde Reddet, tekrar gösterme seçeneği eklenir. Kullanıcı bu seçeneği belirlerse gelecekte bu izni vermesinin tek yolu giyilebilir cihazın Ayarlar uygulamasına gitmektir.

İzin reddini ele alma hakkında daha fazla bilgi edinin.
Hizmetlerle ilgili izinler
Yalnızca bir etkinlik, requestPermissions()
yöntemini çağırabilir. Bu nedenle, kullanıcı uygulamanızla bir hizmet kullanarak (ör. saat yüzü aracılığıyla) etkileşimde bulunursa hizmet, izni istemeden önce bir etkinlik açmalıdır. Bu etkinlikte, iznin neden gerekli olduğuyla ilgili ek bilgiler verin.
Genel olarak, kadran için izin istemeyin. Bunun yerine komplikasyon uygulayın ve kullanıcının komplikasyon aracılığıyla hangi verilerin gösterileceğini seçmesine izin verin.
Ayarlar
Kullanıcılar, Wear uygulamasının izinlerini Ayarlar'dan istedikleri zaman değiştirebilir. Kullanıcı, izin gerektiren bir işlem yapmaya çalıştığında önce checkSelfPermission()
yöntemini çağırarak uygulamanın işlemi gerçekleştirme izni olup olmadığını kontrol edin.
Kullanıcı daha önce izni vermiş olsa bile bu kontrolü yapın. Çünkü kullanıcı, izni daha sonra iptal etmiş olabilir.

Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir.
- Çalışma zamanı izinleri isteme
- Bluetooth izinleri
- Arka planda iletişim kurma