ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
การระบุระบบปฏิบัติการ Android
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
คำสำคัญ: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide
ตั้งแต่ Android 14 เป็นต้นไป เฟรมเวิร์ก Android จะมีบริการ Generic Attribute
(GATT) ที่เรียกว่าบริการข้อมูล Android (AIS) ซึ่งช่วยให้อุปกรณ์ Bluetooth
อ่านระดับ API ของ Android เป็นลักษณะ GATT ของบริการได้
บริการนี้ช่วยให้ผู้ผลิตอุปกรณ์บลูทูธทราบว่าอุปกรณ์ต่อพ่วงบลูทูธ
จับคู่กับอุปกรณ์ส่วนกลางที่ใช้ระบบปฏิบัติการ Android หรือไม่
และจัดการตรรกะเฉพาะทางตามระดับ API
AIS เป็นบริการ GATT มาตรฐานและมีอินสแตนซ์ของ AIS ในอุปกรณ์ได้เพียงอินสแตนซ์เดียว
UUID ของบริการหลักคือ e73e0001-ef1b-4e74-8291-2e4f3164f3b5
ลักษณะระดับ API ของ Android (UUID:
e73e0002-ef1b-4e74-8291-2e4f3164f3b5
) มีระดับ API ของอุปกรณ์เป็นจำนวนเต็มแบบ 32 บิตที่ไม่มีการลงนามในรูปแบบไบนารี (little-endian) ค่าของลักษณะระดับ Android API มีความยาว 4 อ็อกเทต (เช่น ระดับ API 36 คือ 0x24_00_00_00
) เมื่ออุปกรณ์ค้นพบได้ ค่าลักษณะระดับ Android API จะอ่านได้โดยไม่ต้องมีการตรวจสอบสิทธิ์หรือการให้สิทธิ์
เมื่ออุปกรณ์ไม่สามารถค้นพบได้ ลักษณะระดับ API ของ Android จะ
อ่านได้เฉพาะเมื่อมีการตรวจสอบสิทธิ์และการให้สิทธิ์
ค้นพบบริการ
อุปกรณ์บลูทูธอยู่ในบทบาทไคลเอ็นต์ GATT และอุปกรณ์ที่ใช้ Android
อยู่ในบทบาทเซิร์ฟเวอร์ หากต้องการค้นหา AIS และอ่านระดับ Android API อุปกรณ์ Bluetooth
จะใช้ขั้นตอนโปรไฟล์ GATT เช่น ขั้นตอนการค้นหาบริการหลัก
การค้นหาลักษณะ และขั้นตอนการอ่านค่าลักษณะ ดูรายละเอียดเกี่ยวกับขั้นตอนเหล่านี้ได้ที่ข้อกำหนดเฉพาะของโปรไฟล์ GATT
ระดับ API กำหนดโดยพร็อพเพอร์ตี้ของระบบ ro.build.version.sdk
หากค้นพบบริการหลักไม่ได้ แสดงว่าไม่ได้กำหนดพร็อพเพอร์ตี้ของระบบ หรือตั้งค่าเป็นค่าว่าง หรือระบบปฏิบัติการโฮสต์ไม่ใช่ Android
การตรวจสอบความถูกต้อง
หากต้องการยืนยันว่าค้นพบ AIS ได้ ให้เรียกใช้การทดสอบด้วยตนเองโดยจับคู่บลูทูธ
อุปกรณ์ต่อพ่วงกับอุปกรณ์ที่ใช้ Android แล้วค้นหา UUID ของบริการ AIS ในบริการหลักที่ค้นพบ
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-22 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-08-22 UTC"],[],[],null,["# Android OS identification\n\nkeywords: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide\n\nStarting in Android 14, the Android framework includes a Generic Attribute\n(GATT) service called Android information service (AIS), which lets Bluetooth\ndevices read the Android API level as a GATT characteristic of the service.\nThis service lets Bluetooth device manufacturers know whether a Bluetooth\nperipheral is pairing with a central device that is running the Android OS,\nand manage specialized logic based on the API level.\n\nAndroid information service (AIS)\n---------------------------------\n\nAIS is a standard GATT service and there can be only one instance of AIS on\na device. The primary service UUID is `e73e0001-ef1b-4e74-8291-2e4f3164f3b5`.\nThe Android API level characteristic (UUID:\n`e73e0002-ef1b-4e74-8291-2e4f3164f3b5`) contains the API level of the device as\nan unsigned 32-bit integer in binary form (little-endian). The value of the\nAndroid API level characteristic is 4 octets in length (for example, API\nlevel 36 is `0x24_00_00_00`). When the device is discoverable, the Android API\nlevel characteristic value is readable without authentication or authorization.\nWhen the device isn't discoverable, the Android API level characteristic is\nreadable only with authentication and authorization.\n\nDiscover the service\n--------------------\n\nThe Bluetooth device is on the GATT client role and the Android-powered device\nis on the server role. To discover AIS and read the Android API level, Bluetooth\ndevices use GATT profile procedures such as the *primary service discovery* ,\n*characteristic discovery* , and *characteristic value read* procedures. For\ndetails on these procedures, see the [GATT profile specification](https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-54/out/en/host/generic-attribute-profile--gatt-.html).\n\nThe API level is defined by the `ro.build.version.sdk` system property. If the\nprimary service can't be discovered, it means that the system property isn't\ndefined or the value is set to empty, or the host operation system isn't\nAndroid.\n\nValidation\n----------\n\nTo verify that AIS can be discovered, run a manual test by pairing a Bluetooth\nperipheral with an Android-powered device, and then looking up the AIS service\nUUID in the discovered primary services."]]