شناسایی سیستم‌عامل Android

کلیدواژه‌ها: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide

از Android 14، چارچوب Android شامل سرویس «ویژگی عمومی» (GATT) به‌نام «سرویس اطلاعات Android» (AIS) است که به دستگاه‌های بلوتوث امکان می‌دهد سطح API Android را به‌عنوان مشخصه GATT سرویس بخوانند. این سرویس به سازندگان دستگاه‌های بلوتوث اطلاع می‌دهد که آیا دستگاه جانبی بلوتوث درحال جفت شدن با دستگاه مرکزی‌ای است که سیستم‌عامل Android را اجرا می‌کند یا نه، و منطق تخصصی را براساس سطح API مدیریت می‌کند.

سرویس اطلاعات Android‏ (AIS)

‫AIS یک سرویس استاندارد GATT است و فقط یک نمونه از AIS می‌تواند در دستگاه وجود داشته باشد. شناسه منحصربه‌فرد جهانی سرویس اصلی e73e0001-ef1b-4e74-8291-2e4f3164f3b5 است. مشخصه سطح میانای برنامه‌سازی کاربردی Android (UUID: e73e0002-ef1b-4e74-8291-2e4f3164f3b5) حاوی سطح میانای برنامه‌سازی کاربردی دستگاه به‌صورت عدد صحیح ۳۲ بیتی بدون علامت در قالب باینری (little-endian) است. مقدار مشخصه سطح Android API دارای طول ۴ اکتت است (برای مثال، سطح API 36 برابر با 0x24_00_00_00 است). وقتی دستگاه قابل‌کشف باشد، مقدار مشخصه سطح Android API بدون نیاز به احراز هویت یا صدور مجوز قابل خواندن است. وقتی دستگاه قابل‌شناسایی نباشد، مشخصه سطح API Android فقط با اصالت‌سنجی و مجوز قابل‌خواندن است.

کاوش سرویس

دستگاه بلوتوث در نقش مشتری GATT و دستگاه با پشتیبانی Android در نقش سرور است. برای شناسایی AIS و خواندن سطح میانای برنامه‌سازی کاربردی Android، دستگاه‌های Bluetooth از رویه‌های نمایه‌ GATT مثل رویه‌های شناسایی سرویس اصلی، شناسایی مشخصه، و خواندن مقدار مشخصه استفاده می‌کنند. برای جزئیات این رویه‌ها، مشخصات نمایه GATT را ببینید.

سطح میانای برنامه‌سازی کاربردی با ویژگی سیستم ro.build.version.sdk تعریف می‌شود. اگر خدمات اصلی قابل‌کشف نباشد، یعنی دارایی سیستم تعریف نشده است یا مقدار آن روی خالی تنظیم شده است، یا سیستم‌عامل میزبان Android نیست.

اعتبارسنجی

برای تأیید اینکه AIS می‌تواند شناسایی شود، با جفت کردن یک دستگاه جانبی بلوتوث با دستگاهی که از Android استفاده می‌کند، و سپس جستجوی UUID سرویس AIS در سرویس‌های اصلی شناسایی‌شده، آزمایشی دستی اجرا کنید.