Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Identifikasi Android OS
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
kata kunci: AiAssisted,release16,androidconnectivity,bluetooth,category:AndroidConnectivity,docType:Guide
Mulai Android 14, framework Android menyertakan layanan Atribut Generik (GATT) yang disebut layanan informasi Android (AIS), yang memungkinkan perangkat Bluetooth membaca level API Android sebagai karakteristik GATT layanan.
Layanan ini memungkinkan produsen perangkat Bluetooth mengetahui apakah periferal Bluetooth berpasangan dengan perangkat pusat yang menjalankan Android OS, dan mengelola logika khusus berdasarkan level API.
AIS adalah layanan GATT standar dan hanya boleh ada satu instance AIS di
perangkat. UUID layanan utama adalah e73e0001-ef1b-4e74-8291-2e4f3164f3b5
.
Karakteristik level API Android (UUID:
e73e0002-ef1b-4e74-8291-2e4f3164f3b5
) berisi level API perangkat sebagai
bilangan bulat 32-bit yang tidak bertanda dalam bentuk biner (little-endian). Nilai karakteristik level API Android memiliki panjang 4 oktet (misalnya, level API 36 adalah 0x24_00_00_00
). Saat perangkat dapat ditemukan, nilai karakteristik level API Android dapat dibaca tanpa autentikasi atau otorisasi.
Jika perangkat tidak dapat ditemukan, karakteristik level API Android hanya dapat dibaca dengan autentikasi dan otorisasi.
Menemukan layanan
Perangkat Bluetooth berada dalam peran klien GATT dan perangkat yang didukung Android berada dalam peran server. Untuk menemukan AIS dan membaca level API Android, perangkat Bluetooth menggunakan prosedur profil GATT seperti penemuan layanan utama, penemuan karakteristik, dan prosedur pembacaan nilai karakteristik. Untuk
mengetahui detail tentang prosedur ini, lihat spesifikasi profil GATT.
Level API ditentukan oleh properti sistem ro.build.version.sdk
. Jika layanan utama tidak dapat ditemukan, berarti properti sistem tidak ditentukan atau nilainya ditetapkan ke kosong, atau sistem operasi host bukan Android.
Validasi
Untuk memverifikasi bahwa AIS dapat ditemukan, jalankan pengujian manual dengan menyambungkan periferal Bluetooth ke perangkat berteknologi Android, lalu cari UUID layanan AIS di layanan utama yang ditemukan.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-22 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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."]]