ब्लूटूथ प्रोफ़ाइल

Bluetooth API में, ब्लूटूथ प्रोफ़ाइलों के साथ काम करने की सुविधा शामिल होती है. ऐप्लिकेशन ब्लूटूथ प्रोफ़ाइल, ब्लूटूथ आधारित इंटरफ़ेस के लिए एक वायरलेस इंटरफ़ेस की खास बात है डिवाइस के बीच संचार, जैसे हैंड्स-फ़्री प्रोफ़ाइल. मोबाइल के लिए वायरलेस हेडसेट से कनेक्ट करने के लिए डिवाइस, दोनों डिवाइस को हैंड्सफ़्री प्रोफ़ाइल.

Bluetooth API नीचे दिए गए ब्लूटूथ के लिए काम करता है प्रोफ़ाइलें:

  • हेडसेट. हेडसेट प्रोफ़ाइल, Bluetooth हेडसेट के लिए सहायता उपलब्ध कराती है का इस्तेमाल मोबाइल फ़ोन के साथ किया जाता है. Android, BluetoothHeadset क्लास, जो ब्लूटूथ हेडसेट सेवा को कंट्रोल करने के लिए एक प्रॉक्सी है. इसमें ये शामिल हैं ब्लूटूथ हेडसेट और हैंड्स-फ़्री (v1.5) प्रोफ़ाइल, दोनों. BluetoothHeadset क्लास में AT कमांड के लिए सहायता शामिल है. इस विषय पर ज़्यादा जानकारी के लिए, यह देखें वेंडर के लिए खास तौर पर बने AT निर्देश.
  • A2DP. ऐडवांस ऑडियो डिस्ट्रिब्यूशन प्रोफ़ाइल (A2DP) प्रोफ़ाइल से तय होता है कि ब्लूटूथ का इस्तेमाल करके, अच्छी क्वालिटी के ऑडियो को एक डिवाइस से दूसरे डिवाइस पर स्ट्रीम किया जा सकता है कनेक्शन. Android, BluetoothA2dp क्लास, जो ब्लूटूथ A2DP सेवा को कंट्रोल करने के लिए एक प्रॉक्सी है.
  • हेल्थ डिवाइस. Android, ब्लूटूथ Health डिवाइस के लिए सहायता उपलब्ध कराता है प्रोफ़ाइल (एचडीपी). यह आपको ऐसे ऐप्लिकेशन बनाने देता है जो संपर्क करने के लिए ब्लूटूथ का इस्तेमाल करते हैं ऐसे स्वास्थ्य डिवाइस के साथ जो ब्लूटूथ का समर्थन करते हैं, जैसे हृदय गति मॉनिटर, रक्त मीटर, थर्मामीटर, स्केल वगैरह. सपोर्ट करने वाले डिवाइसों की सूची देखें और उनसे जुड़े डिवाइस के डेटा स्पेशलाइज़ेशन कोड के लिए, ब्लूटूथ का एचडीपी देखें डिवाइस का डेटा विशेषज्ञताएं. इन वैल्यू का रेफ़रंस ISO/IEEE 11073-20601 [7] स्पेसिफ़िकेशन में भी दिया गया है जैसा कि MDC_DEV_SPEC_PROFILE_* के तौर पर सबमिट किया जाएगा. ज़्यादा के लिए एचडीपी के बारे में जानकारी, हेल्थ डिवाइस प्रोफ़ाइल देखें.

प्रोफ़ाइल के साथ काम करने के बुनियादी तरीके यहां दिए गए हैं:

  1. डिफ़ॉल्ट अडैप्टर खरीदें, जैसा कि यहां बताया गया है ब्लूटूथ सेटअप करना.
  2. सेट अप करें BluetoothProfile.ServiceListener. यह श्रोता आपको सूचना देता है BluetoothProfile क्लाइंट जब वे सेवा से कनेक्ट या डिसकनेक्ट हो जाते हैं.
  3. इस्तेमाल की जाने वाली चीज़ें getProfileProxy() से संबद्ध प्रोफ़ाइल प्रॉक्सी ऑब्जेक्ट से कनेक्शन स्थापित करने के लिए प्रोफ़ाइल. नीचे दिए गए उदाहरण में, प्रोफ़ाइल प्रॉक्सी ऑब्जेक्ट BluetoothHeadset.
  4. तय सीमा में onServiceConnected() प्रोफ़ाइल प्रॉक्सी ऑब्जेक्ट का हैंडल पाएं.
  5. प्रोफ़ाइल प्रॉक्सी ऑब्जेक्ट मिलने के बाद, उसका इस्तेमाल कनेक्ट करने और उस प्रोफ़ाइल से जुड़े अन्य ऑपरेशन करने में मदद करता है.

यह कोड स्निपेट, BluetoothHeadset प्रॉक्सी से कनेक्ट करने का तरीका बताता है ऑब्जेक्ट जोड़ें ताकि आप हेडसेट प्रोफ़ाइल को नियंत्रित कर सकें:

Kotlin

var bluetoothHeadset: BluetoothHeadset? = null

// Get the default adapter
val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()

private val profileListener = object : BluetoothProfile.ServiceListener {

    override fun onServiceConnected(profile: Int, proxy: BluetoothProfile) {
        if (profile == BluetoothProfile.HEADSET) {
            bluetoothHeadset = proxy as BluetoothHeadset
        }
    }

    override fun onServiceDisconnected(profile: Int) {
        if (profile == BluetoothProfile.HEADSET) {
            bluetoothHeadset = null
        }
    }
}

// Establish connection to the proxy.
bluetoothAdapter?.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET)

// ... call functions on bluetoothHeadset

// Close proxy connection after use.
bluetoothAdapter?.closeProfileProxy(BluetoothProfile.HEADSET, bluetoothHeadset)

Java

BluetoothHeadset bluetoothHeadset;

// Get the default adapter
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

private BluetoothProfile.ServiceListener profileListener = new BluetoothProfile.ServiceListener() {
    public void onServiceConnected(int profile, BluetoothProfile proxy) {
        if (profile == BluetoothProfile.HEADSET) {
            bluetoothHeadset = (BluetoothHeadset) proxy;
        }
    }
    public void onServiceDisconnected(int profile) {
        if (profile == BluetoothProfile.HEADSET) {
            bluetoothHeadset = null;
        }
    }
};

// Establish connection to the proxy.
bluetoothAdapter.getProfileProxy(context, profileListener, BluetoothProfile.HEADSET);

// ... call functions on bluetoothHeadset

// Close proxy connection after use.
bluetoothAdapter.closeProfileProxy(bluetoothHeadset);

वेंडर के लिए AT के निर्देश

ऐप्लिकेशन, पहले से तय वेंडर के लिए खास AT के सिस्टम ब्रॉडकास्ट पाने के लिए रजिस्टर कर सकते हैं हेडसेट के ज़रिए भेजे जाने वाले निर्देश (जैसे कि Plantronics +XEVENT कमांड). उदाहरण के लिए, किसी ऐप्लिकेशन को ऐसे ब्रॉडकास्ट मिल सकते हैं जिनसे कनेक्ट किए गए डिवाइस की बैटरी के लेवल के बारे में पता चलता हो साथ ही, उपयोगकर्ता को सूचित कर सकता है या ज़रूरत पड़ने पर दूसरी कार्रवाई कर सकता है. ब्रॉडकास्ट बनाएं CANNOT TRANSLATE ACTION_VENDOR_SPECIFIC_HEADSET_EVENT ताकि हेडसेट के लिए खास तौर पर वेंडर के AT कमांड को हैंडल किया जा सके.

हेल्थ डिवाइस की प्रोफ़ाइल

Android पर ब्लूटूथ हेल्थ डिवाइस प्रोफ़ाइल (एचडीपी) काम करता है. ब्लूटूथ हेल्थ एपीआई में क्लास शामिल हैं BluetoothHealth BluetoothHealthCallback, और BluetoothHealthAppConfiguration, जिनकी जानकारी मुख्य क्लास और इंटरफ़ेस के तौर पर दिखते हैं.

Bluetooth Health API का इस्तेमाल करते समय, एचडीपी की इन खास बातों को समझना ज़रूरी होता है कॉन्सेप्ट:

स्रोत
स्वास्थ्य से जुड़ा कोई डिवाइस, जैसे कि वज़न मापने वाला स्केल, ग्लूकोज़ मीटर या थर्मामीटर मेडिकल डेटा को Android फ़ोन या टैबलेट जैसे स्मार्ट डिवाइस पर भेजता है.
सिंक
मेडिकल डेटा पाने वाला स्मार्ट डिवाइस. किसी HDP ऐप्लिकेशन में, सिंक को BluetoothHealthAppConfiguration ऑब्जेक्ट से दिखाया जाता है.
रजिस्ट्रेशन
किसी खास स्वास्थ्य से जुड़े बातचीत के लिए, सिंक को रजिस्टर करने की प्रोसेस डिवाइस.
कनेक्शन
किसी हेल्थ डिवाइस (सोर्स) और स्मार्ट डिवाइस (सिंक).

एक HDP ऐप्लिकेशन बनाएं

यहां HDP ऐप्लिकेशन बनाने के बुनियादी चरण दिए गए हैं:

  1. BluetoothHealth प्रॉक्सी ऑब्जेक्ट का रेफ़रंस पाएं. सामान्य की तरह और A2DP प्रोफ़ाइल डिवाइस, तो आपको getProfileProxy() को BluetoothProfile.ServiceListener और HEALTH प्रोफ़ाइल किस तरह की है प्रोफ़ाइल प्रॉक्सी ऑब्जेक्ट के साथ कनेक्शन बनाने के लिए.

  2. BluetoothHealthCallback बनाएं और ऐप्लिकेशन कॉन्फ़िगरेशन को रजिस्टर करें (BluetoothHealthAppConfiguration) हेल्थ सिंक की तरह काम करता है.

  3. हेल्थ डिवाइस से कनेक्शन बनाएं.

  4. हेल्थ डिवाइस से कनेक्ट होने पर, स्वास्थ्य से जुड़ी जानकारी का टेक्स्ट पढ़ें और उसमें बदलाव करें डिवाइस पर मौजूद है. जो डेटा मिला है उसे समझना ज़रूरी है हेल्थ मैनेजर का इस्तेमाल करते हैं, जो IEEE 11073 को लागू करता है खास जानकारी के मुताबिक होना चाहिए.

  5. काम पूरा होने पर, Health चैनल बंद कर दें और ऐप्लिकेशन का रजिस्ट्रेशन रद्द करें. साथ ही, चैनल पर लंबे समय तक कोई गतिविधि न होने पर बंद हो जाता है.