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 โปรดดูโปรไฟล์อุปกรณ์ด้านสุขภาพ
ขั้นตอนพื้นฐานในการใช้งานโปรไฟล์มีดังนี้
- รับอะแดปเตอร์เริ่มต้นตามที่อธิบายไว้ใน การตั้งค่าบลูทูธ
- ตั้งค่า
BluetoothProfile.ServiceListener
ผู้ฟังรายนี้จะแจ้งเตือน ไคลเอ็นต์BluetoothProfile
เมื่อมีการเชื่อมต่อหรือยกเลิกการเชื่อมต่อจากบริการ - ใช้
getProfileProxy()
เพื่อสร้างการเชื่อมต่อกับออบเจ็กต์พร็อกซีของโปรไฟล์ที่เชื่อมโยงกับ โปรไฟล์ ในตัวอย่างต่อไปนี้ ออบเจ็กต์พร็อกซีของโปรไฟล์เป็นอินสแตนซ์ของBluetoothHeadset
- ใน
onServiceConnected()
ดูแฮนเดิลของออบเจ็กต์พร็อกซีของโปรไฟล์ - เมื่อคุณมีออบเจ็กต์พร็อกซีโปรไฟล์แล้ว ให้ใช้ออบเจ็กต์ดังกล่าวเพื่อตรวจสอบสถานะของ เชื่อมต่อและดำเนินการอื่นๆ ที่เกี่ยวข้องกับโปรไฟล์นั้น
ข้อมูลโค้ดต่อไปนี้แสดงวิธีเชื่อมต่อกับพร็อกซี 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 มีดังนี้
ดูการอ้างอิงออบเจ็กต์พร็อกซี
BluetoothHealth
เช่นเดียวกับปกติ ชุดหูฟังและอุปกรณ์โปรไฟล์ A2DP คุณต้องโทรหาgetProfileProxy()
ด้วยBluetoothProfile.ServiceListener
และ ประเภทโปรไฟล์HEALTH
เพื่อสร้างการเชื่อมต่อกับออบเจ็กต์พร็อกซีของโปรไฟล์สร้าง
BluetoothHealthCallback
และลงทะเบียนการกำหนดค่าแอป (BluetoothHealthAppConfiguration
) ที่ทำหน้าที่เป็น Health Sinkสร้างการเชื่อมต่อกับอุปกรณ์ด้านสุขภาพ
เมื่อเชื่อมต่อกับอุปกรณ์ด้านสุขภาพเรียบร้อยแล้ว ให้อ่านและเขียนไปยังอุปกรณ์ด้านสุขภาพ โดยใช้ข้อบ่งชี้ไฟล์ ต้องตีความข้อมูลที่ได้รับ โดยใช้ผู้จัดการด้านสุขภาพ ซึ่งใช้ IEEE 11073 ข้อกำหนดเฉพาะ
เมื่อเสร็จแล้ว ให้ปิดช่องทางด้านสุขภาพและยกเลิกการลงทะเบียนแอป นอกจากนี้ ช่อง ปิดเมื่อไม่มีการใช้งานเป็นระยะเวลานาน