Android 12'de sunulan tamamlayıcı cihaz profili, tamamlayıcı uygulamaların, akıllı saat gibi tamamlayıcı cihazın türüne özel bir dizi izin talep etmesine olanak tanıyan bir özelliktir. Tamamlayıcı cihaz profili kullanmak, uygulamaların mobil cihazlarındaki kullanıcılara tek tek izin isteyen birden çok istem yerine, tanımlı bir izin kümesi istemeleri için tek bir istem görüntülemesine izin vererek kayıt sürecini basitleştirir. Bu, daha akıcı bir kurulum deneyimine ve tamamlayıcı uygulamalar için daha iyi katılım oranlarına olanak sağlayabilir.
Tamamlayıcı cihaz profillerini kullanmak için tamamlayıcı uygulamaların aşağıdaki gereksinimleri karşılaması gerekir:
- Yardımcı bir cihazı (örneğin bir akıllı saat) yönetin.
- Tamamlayıcı cihaz profili için tanımlanan tüm izinleri gerektiren uygulama özelliklerine sahip olun veya Android API'lerini arayın.
Her tamamlayıcı cihaz profili bir Android rolüne karşılık gelir. Her profilin izinleri ve karşılık gelen Android rolü hakkında daha fazla bilgi için üçüncü taraf uygulamalara yönelik tamamlayıcı cihaz profillerine bakın.
Yardımcı cihazlar hakkında daha fazla bilgi için bkz. Tamamlayıcı cihaz eşleştirme .
Cihaz davranışı
Bu bölümde, tamamlayıcı cihaz profilleri kullanıldığında cihazın davranışı açıklanmaktadır.
Bir kullanıcı, bir uygulamanın tamamlayıcı bir cihazla ilişki oluşturma isteğini kabul ettiğinde, CompanionDeviceManager
(CDM) hizmeti, cihaz profili rolünü (örneğin, izleme) tamamlayıcı uygulamaya atar ve belirtilen profil rolü için tanımlanan tüm izinleri verir. Şekil 1, COMPANION_DEVICE_WATCH
cihaz profili için izin isteyen bir uygulamanın örneğini göstermektedir.
Şekil 1. İzleme cihazı profili için izin isteyen iletişim kutusu.
Bir kullanıcı Ayarlar'daki paket verilerini temizlediğinde veya tamamlayıcı uygulamadaki tüm cihazları kaldırdığında, CDM, uygulama ön planda çalışmadığında veya bir ön plan hizmeti çalışmadığında profili iptal eder. Profilin iptal edilmesi, profil için tanımlanmış tüm izinlerin de iptal edilmesini sağlar.
Kullanıcı, uygulamanın belirli bir cihaz profili için izin verme isteğini kabul ettikten sonra, verilen izinleri tek tek iptal edebilir. Bir izin bir kullanıcı tarafından iptal edildiğinde uygulama yardımcı cihazla ilişkili kalır ancak bazı özellikler kullanılamayabilir. Uygulamanın çalışması için izin gerekiyorsa uygulamanın normal bir izin isteği aracılığıyla izin istemesi gerekir.
Üçüncü taraf uygulamalar için yardımcı cihaz profilleri
Profili izle
Saat profili Android 12'de tanıtıldı.
Aşağıdaki tabloda COMPANION_DEVICE_WATCH
cihaz profili için tanımlanan izinler ve bunların kullanımına ilişkin gereksinimler açıklanmaktadır.
İzinler | Tamamlayıcı uygulama ve cihaz gereksinimleri |
---|---|
BildirimlerBIND_NOTIFICATION_LISTENER_SERVICE |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Gözlük profili
Gözlük profili Android 14'te kullanıma sunuldu.
Aşağıdaki tabloda COMPANION_DEVICE_GLASSES
cihaz profili için tanımlanan izinler ve bunların kullanımına ilişkin gereksinimler açıklanmaktadır.
İzinler | Tamamlayıcı uygulama ve cihaz gereksinimleri |
---|---|
BildirimlerBIND_NOTIFICATION_LISTENER_SERVICE POST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Uygulama
DEVICE_PROFILE_WATCH
profilini isteyen bir yardımcı uygulama uygulayan üçüncü taraf geliştiriciler için aşağıdakileri yapın:
setDeviceProfile
yöntemini çağırın.Bir profil girin (örneğin,
AssociationRequest
oluştururkenDEVICE_PROFILE_WATCH
.
Cihaz, kullanıcı izni iletişim kutusunun görüntülenmesini atlayacak şekilde üretim yapıyor
Belirli bir cihazla tamamlayıcı uygulama uygulayan cihaz üreticileri için, tamamlayıcı uygulamayı onaylamak üzere aşağıdaki gerekli Android sistem yapılandırmalarını kullanın; bu, uygulamanın kullanıcılar için kullanıcı izni iletişim kutusunu görüntülemeyi atlamasına olanak tanır.
Aşağıdaki komutu kullanarak sertifikayı alın:
keytool -printcert -jarfile PATH/TO/APK
Paket adını ve sertifikayı, yapılandırma dosyasındaki aşağıdaki örnek girişte gösterildiği gibi değiştirin:
<!-- A list of packages managing companion device(s) by the same manufacturers as the main device. It will not create the association without prompting if the association has been called multiple times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts are parallel arrays. --> <string-array name="config_companionDevicePackages" translatable="false"> <item>YOUR_COMPANION_APP_PACKAGE_NAME</item> </string-array> <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the main device. It will fall back to showing a prompt if the association has been called multiple times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage are parallel arrays. Example: "1A:2B:3C:4D" --> <string-array name="config_companionDeviceCerts" translatable="false"> <item>YOUR_COMPANION_APP_CERTIFICATE</item> </string-array>
Tek bir tamamlayıcı cihaza ilişkilendirme isteğinde bulunmak için
AssociationRequest
kullanın.
Doğrulama
Yardımcı cihaz profili özelliğinin davranışını test etmek için cts/tests/tests/companion/
içindeki CTS testlerini kullanın.