โปรไฟล์บลูทูธ

Bluetooth API รองรับการใช้งานโปรไฟล์บลูทูธ ต โปรไฟล์บลูทูธเป็นข้อกำหนดอินเทอร์เฟซแบบไร้สายสำหรับใช้งานบลูทูธ การสื่อสารระหว่างอุปกรณ์ เช่น โปรไฟล์ Hands-Free สำหรับอุปกรณ์เคลื่อนที่ เพื่อเชื่อมต่อกับชุดหูฟังไร้สาย อุปกรณ์ทั้งสองต้องสนับสนุน โปรไฟล์แฮนด์ฟรี

Bluetooth API ติดตั้งใช้งานบลูทูธต่อไปนี้ โปรไฟล์:

  • ชุดหูฟัง โปรไฟล์ชุดหูฟังจะสนับสนุนชุดหูฟังบลูทูธเพื่อ ที่ใช้กับโทรศัพท์มือถือ Android มอบ BluetoothHeadset ชั้นเรียน ซึ่งเป็นพร็อกซีสำหรับควบคุมบริการชุดหูฟังบลูทูธ ซึ่งรวมถึง ทั้งโปรไฟล์ชุดหูฟังบลูทูธและโปรไฟล์แฮนด์ฟรี (v1.5) BluetoothHeadset มีการรองรับคำสั่ง AT ดูข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้ได้ที่ คำสั่ง AT เฉพาะผู้ให้บริการ
  • A2DP โปรไฟล์ Advanced Audio Distribution Profile (A2DP) จะกำหนดวิธีที่ สามารถสตรีมเสียงคุณภาพสูงจากอุปกรณ์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งผ่านบลูทูธได้ การเชื่อมต่อ Android มอบ BluetoothA2dp เดิม พร็อกซีสำหรับควบคุมบริการ Bluetooth A2DP
  • อุปกรณ์ด้านสุขภาพ Android ให้การสนับสนุนอุปกรณ์ Bluetooth Health โปรไฟล์ (HDP) สิทธิ์นี้จะช่วยให้คุณสร้างแอปที่ใช้บลูทูธในการสื่อสารได้ กับอุปกรณ์สุขภาพที่รองรับบลูทูธ เช่น เครื่องวัดอัตราการเต้นของหัวใจ เลือด เมตร เทอร์โมมิเตอร์ เครื่องชั่ง และอื่นๆ สำหรับรายการอุปกรณ์ที่รองรับและ รหัสความเชี่ยวชาญพิเศษของข้อมูลอุปกรณ์ที่เกี่ยวข้อง โปรดดู HDP ของบลูทูธ ข้อมูลอุปกรณ์ ความเชี่ยวชาญเฉพาะทาง ค่าเหล่านี้ยังมีการอ้างอิงในข้อกำหนด ISO/IEEE 11073-20601 [7] ด้วย เป็น MDC_DEV_SPEC_PROFILE_* ในภาคผนวกของรหัสการตั้งชื่อ สำหรับข้อมูลเพิ่มเติม ข้อมูลเกี่ยวกับ HDP โปรดดูโปรไฟล์อุปกรณ์ด้านสุขภาพ

ขั้นตอนพื้นฐานในการใช้งานโปรไฟล์มีดังนี้

  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) ตัวอย่างเช่น แอปสามารถรับข้อความประกาศที่ระบุระดับแบตเตอรี่ของอุปกรณ์ที่เชื่อมต่อได้ และแจ้งเตือนผู้ใช้หรือดำเนินการอื่นๆ ได้ตามความจำเป็น สร้างการออกอากาศ ตัวรับสำหรับ ACTION_VENDOR_SPECIFIC_HEADSET_EVENT จัดการคำสั่ง AT เฉพาะผู้ให้บริการสำหรับชุดหูฟัง

โปรไฟล์อุปกรณ์ด้านสุขภาพ

Android รองรับ Bluetooth Health Device Profile (HDP) สถานะของบลูทูธ API มีคลาส BluetoothHealth BluetoothHealthCallback, และ BluetoothHealthAppConfiguration, ซึ่งอธิบายไว้ใน คลาสหลักและ อินเทอร์เฟซ

คุณควรทำความเข้าใจ HDP คีย์เหล่านี้เมื่อใช้ Bluetooth Health API แนวคิด

แหล่งที่มา
อุปกรณ์ด้านสุขภาพ เช่น เครื่องชั่งน้ำหนัก เครื่องวัดน้ำตาลกลูโคส หรือเทอร์โมมิเตอร์ ส่งข้อมูลทางการแพทย์ไปยังอุปกรณ์อัจฉริยะ เช่น โทรศัพท์หรือแท็บเล็ต Android
อ่างล้างจาน
อุปกรณ์อัจฉริยะที่รับข้อมูลทางการแพทย์ ในแอป HDP ซิงก์จะแสดงด้วยออบเจ็กต์ BluetoothHealthAppConfiguration
การลงทะเบียน
กระบวนการที่ใช้ในการลงทะเบียนซิงก์สำหรับสื่อสารกับสุขภาพที่เฉพาะเจาะจง อุปกรณ์
การเชื่อมต่อ
กระบวนการที่ใช้ในการเปิดช่องระหว่างอุปกรณ์ด้านสุขภาพ (แหล่งที่มา) กับ อุปกรณ์อัจฉริยะ (ซิงก์)

สร้างแอป HDP

ขั้นตอนพื้นฐานที่เกี่ยวข้องกับการสร้างแอป HDP มีดังนี้

  1. ดูการอ้างอิงออบเจ็กต์พร็อกซี BluetoothHealth เช่นเดียวกับปกติ ชุดหูฟังและอุปกรณ์โปรไฟล์ A2DP คุณต้องโทรหา getProfileProxy() ด้วย BluetoothProfile.ServiceListener และ ประเภทโปรไฟล์ HEALTH เพื่อสร้างการเชื่อมต่อกับออบเจ็กต์พร็อกซีของโปรไฟล์

  2. สร้าง BluetoothHealthCallback และลงทะเบียนการกำหนดค่าแอป (BluetoothHealthAppConfiguration) ที่ทำหน้าที่เป็น Health Sink

  3. สร้างการเชื่อมต่อกับอุปกรณ์ด้านสุขภาพ

  4. เมื่อเชื่อมต่อกับอุปกรณ์ด้านสุขภาพเรียบร้อยแล้ว ให้อ่านและเขียนไปยังอุปกรณ์ด้านสุขภาพ โดยใช้ข้อบ่งชี้ไฟล์ ต้องตีความข้อมูลที่ได้รับ โดยใช้ผู้จัดการด้านสุขภาพ ซึ่งใช้ IEEE 11073 ข้อกำหนดเฉพาะ

  5. เมื่อเสร็จแล้ว ให้ปิดช่องทางด้านสุขภาพและยกเลิกการลงทะเบียนแอป นอกจากนี้ ช่อง ปิดเมื่อไม่มีการใช้งานเป็นระยะเวลานาน