پروفایل دستگاه همراه که در اندروید ۱۲ معرفی شد، قابلیتی است که به برنامههای همراه اجازه میدهد مجموعهای از مجوزهای خاص را برای نوع دستگاه همراه، مثلاً ساعت هوشمند، درخواست کنند. استفاده از پروفایل دستگاه همراه، فرآیند ثبتنام را ساده میکند و به برنامهها اجازه میدهد به جای چندین درخواست جداگانه برای درخواست مجوزها، یک درخواست واحد را برای کاربران در دستگاههای تلفن همراهشان نمایش دهند تا مجموعهای از مجوزهای تعریفشده را درخواست کنند. این امر میتواند تجربه راهاندازی سادهتر و نرخهای انتخاب بهتری را برای برنامههای همراه فراهم کند.
برای استفاده از پروفایلهای دستگاه همراه، برنامههای همراه باید شرایط زیر را داشته باشند:
- یک دستگاه همراه (مثلاً ساعت هوشمند) را مدیریت کنید.
- ویژگیهای برنامه یا APIهای اندروید را فراخوانی کنید که به تمام مجوزهای تعریف شده برای پروفایل دستگاه همراه نیاز دارند.
هر نمایه دستگاه همراه با یک نقش اندروید مطابقت دارد. برای اطلاعات بیشتر در مورد مجوزها و نقش اندروید مربوطه برای هر نمایه، به نمایههای دستگاه همراه برای برنامههای شخص ثالث مراجعه کنید.
برای اطلاعات بیشتر در مورد دستگاههای همراه، به بخش جفتسازی دستگاههای همراه مراجعه کنید.
رفتار دستگاه
این بخش رفتار دستگاه را هنگام استفاده از پروفایلهای دستگاه همراه شرح میدهد.
وقتی کاربری درخواست یک برنامه برای ایجاد ارتباط با یک دستگاه همراه را میپذیرد، سرویس CompanionDeviceManager (CDM) نقش پروفایل دستگاه (مثلاً watch) را به برنامه همراه اختصاص میدهد و تمام مجوزهای تعریف شده برای آن نقش پروفایل مشخص شده را اعطا میکند. شکل 1 نمونهای از یک برنامه را نشان میدهد که درخواست مجوز برای پروفایل دستگاه COMPANION_DEVICE_WATCH دارد.

شکل ۱. پنجرهی درخواست مجوز برای پروفایل دستگاه ساعت.
وقتی کاربری دادههای بسته را در تنظیمات پاک میکند یا تمام دستگاههای موجود در برنامه همراه را حذف میکند، CDM پروفایل را در حالی که برنامه در حال اجرا نیست و هیچ سرویس پیشزمینهای در حال اجرا ندارد، لغو میکند. لغو پروفایل همچنین تمام مجوزهای تعریف شده برای پروفایل را لغو میکند.
پس از اینکه کاربر درخواست برنامه برای اعطای مجوز برای یک پروفایل دستگاه خاص را پذیرفت، میتواند مجوزهای فردی اعطا شده را لغو کند. هنگامی که یک مجوز توسط کاربر لغو میشود، برنامه همچنان با دستگاه همراه مرتبط باقی میماند اما ممکن است برخی از ویژگیها از دسترس خارج شوند. اگر مجوز برای عملکرد برنامه مورد نیاز باشد، برنامه باید از طریق یک درخواست مجوز عادی درخواست مجوز کند.
پروفایلهای دستگاه همراه برای برنامههای شخص ثالث
نمایه تماشا
پروفایل ساعت در اندروید ۱۲ معرفی شده است.
جدول زیر مجوزهای تعریفشده برای پروفایل دستگاه COMPANION_DEVICE_WATCH و الزامات استفاده از آنها را شرح میدهد.
| مجوزها | الزامات برنامه همراه و دستگاه |
|---|---|
اعلانهاPOST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
مشخصات عینک
پروفایل عینک (Glasses) در اندروید ۱۴ معرفی شد.
جدول زیر مجوزهای تعریفشده برای پروفایل دستگاه COMPANION_DEVICE_GLASSES و الزامات استفاده از آنها را شرح میدهد.
| مجوزها | الزامات برنامه همراه و دستگاه |
|---|---|
اعلانهاPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
پیادهسازی
برای توسعهدهندگان شخص ثالث که یک برنامه همراه را پیادهسازی میکنند که درخواست نمایه DEVICE_PROFILE_WATCH را دارد، موارد زیر را انجام دهید:
متد
setDeviceProfileرا فراخوانی کنید.یک پروفایل (مثلاً
DEVICE_PROFILE_WATCHهنگام ساختAssociationRequestارسال کنید.
تولیدکنندهی دستگاه از نمایش کادر محاورهای رضایت کاربر صرفنظر میکند
برای تولیدکنندگان دستگاه که یک برنامه همراه را با یک دستگاه خاص پیادهسازی میکنند، از پیکربندیهای سیستم اندروید مورد نیاز زیر برای تأیید برنامه همراه استفاده کنید، که به برنامه اجازه میدهد از نمایش کادر گفتگوی رضایت کاربر برای کاربران صرف نظر کند.
با استفاده از دستور زیر، گواهی را بازیابی کنید:
keytool -printcert -jarfile PATH/TO/APKنام بسته و گواهی را همانطور که در ورودی نمونه زیر در فایل پیکربندی نشان داده شده است، جایگزین کنید:
<!-- 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>از
AssociationRequestبرای ارسال درخواست ارتباط به یک دستگاه همراه واحد استفاده کنید.
اعتبارسنجی
برای آزمایش رفتار ویژگی پروفایل دستگاه همراه، از تستهای CTS در cts/tests/tests/companion/ استفاده کنید.