Android OS की पहचान

Android 16 से, Android फ़्रेमवर्क में Android की जानकारी देने वाली सेवा (एआईएस) नाम की एक सामान्य एट्रिब्यूट (GATT) सेवा शामिल है. इसकी मदद से, ब्लूटूथ डिवाइस सेवा की GATT विशेषता के तौर पर Android API लेवल को पढ़ सकते हैं. इस सेवा से, ब्लूटूथ डिवाइस बनाने वाली कंपनियों को यह पता चलता है कि कोई ब्लूटूथ पेरिफ़रल, Android OS पर काम करने वाले सेंट्रल डिवाइस से पेयर हो रहा है या नहीं. साथ ही, यह एपीआई लेवल के आधार पर खास लॉजिक को मैनेज करती है.

Android की जानकारी देने वाली सेवा (एआईएस)

AIS, GATT की स्टैंडर्ड सेवा है. किसी डिवाइस पर AIS का सिर्फ़ एक इंस्टेंस हो सकता है. प्राइमरी सर्विस का यूयूआईडी e73e0001-ef1b-4e74-8291-2e4f3164f3b5 है. Android API लेवल की विशेषता (यूआईडी: e73e0002-ef1b-4e74-8291-2e4f3164f3b5) में, डिवाइस का एपीआई लेवल होता है. यह बाइनरी फ़ॉर्म (लिटिल-एंडियन) में, बिना हस्ताक्षर वाला 32-बिट पूर्णांक होता है. Android API लेवल की विशेषता की वैल्यू, चार ऑक्टेट की होती है. उदाहरण के लिए, API लेवल 36, 0x24_00_00_00 है. जब डिवाइस खोजा जा सकता है, तब Android API लेवल की विशेषता की वैल्यू को पुष्टि या अनुमति के बिना पढ़ा जा सकता है. जब डिवाइस का पता नहीं लगाया जा सकता, तब Android API लेवल की विशेषता को सिर्फ़ पुष्टि और अनुमति के साथ पढ़ा जा सकता है.

सेवा के बारे में जानें

ब्लूटूथ डिवाइस, GATT क्लाइंट की भूमिका में होता है और Android डिवाइस, सर्वर की भूमिका में होता है. AIS का पता लगाने और Android API लेवल को पढ़ने के लिए, Bluetooth डिवाइस GATT प्रोफ़ाइल की प्रक्रियाओं का इस्तेमाल करते हैं. जैसे, प्राइमरी सर्विस डिस्कवरी, कैरेक्टरिस्टिक डिस्कवरी, और कैरेक्टरिस्टिक वैल्यू रीड प्रक्रियाएं. इन प्रक्रियाओं के बारे में ज़्यादा जानने के लिए, GATT प्रोफ़ाइल स्पेसिफ़िकेशन देखें.

एपीआई लेवल, ro.build.version.sdk सिस्टम प्रॉपर्टी से तय होता है. अगर प्राइमरी सेवा का पता नहीं चलता है, तो इसका मतलब है कि सिस्टम प्रॉपर्टी तय नहीं की गई है या वैल्यू को खाली पर सेट किया गया है या होस्ट ऑपरेटिंग सिस्टम Android नहीं है.

पुष्टि करें

इस बात की पुष्टि करने के लिए कि एआईएस को खोजा जा सकता है, मैन्युअल टेस्ट चलाएं. इसके लिए, ब्लूटूथ पेरिफ़ेरल को Android डिवाइस से जोड़ें. इसके बाद, खोजी गई प्राइमरी सेवाओं में एआईएस सेवा का यूयूआईडी देखें.