شناسایی سیستم عامل اندروید

کلمات کلیدی: AiAssisted، نسخه ۱۶، اتصال اندروید، بلوتوث، دسته بندی: اتصال اندروید، نوع سند: راهنما

از اندروید ۱۴ به بعد، چارچوب اندروید شامل یک سرویس Generic Attribute (GATT) به نام Android information service (AIS) است که به دستگاه‌های بلوتوث اجازه می‌دهد سطح API اندروید را به عنوان یک مشخصه GATT از سرویس بخوانند. این سرویس به تولیدکنندگان دستگاه‌های بلوتوث اجازه می‌دهد تا بدانند که آیا یک وسیله جانبی بلوتوث با یک دستگاه مرکزی که سیستم عامل اندروید را اجرا می‌کند، جفت می‌شود یا خیر و منطق تخصصی را بر اساس سطح API مدیریت کنند.

سرویس اطلاعات اندروید (AIS)

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

سرویس را کشف کنید

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

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

اعتبارسنجی

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