Cấu hình Bluetooth

Bluetooth API có hỗ trợ làm việc với các cấu hình Bluetooth. Đáp Cấu hình Bluetooth là thông số kỹ thuật giao diện không dây cho dựa trên Bluetooth hoạt động giao tiếp giữa các thiết bị, chẳng hạn như hồ sơ Rảnh tay. Đối với thiết bị di động để kết nối với tai nghe không dây, cả hai thiết bị đều phải hỗ trợ Hồ sơ rảnh tay.

Bluetooth API cung cấp các cách triển khai cho Bluetooth sau hồ sơ:

  • Tai nghe. Cấu hình Tai nghe cung cấp hỗ trợ cho tai nghe Bluetooth được sử dụng với điện thoại di động. Android cung cấp Lớp BluetoothHeadset, là proxy để kiểm soát Dịch vụ tai nghe Bluetooth. bao gồm cả cấu hình Tai nghe Bluetooth và Rảnh tay (v1.5). BluetoothHeadset class sẽ hỗ trợ các lệnh AT. Để biết thêm về chủ đề này, hãy xem Các lệnh AT dành riêng cho nhà cung cấp.
  • A2DP. Cấu hình Cấu hình phân phối âm thanh nâng cao (A2DP) xác định cách bạn có thể truyền âm thanh chất lượng cao từ thiết bị này sang thiết bị khác qua Bluetooth kết nối. Android cung cấp Lớp BluetoothA2dp là một proxy để kiểm soát Dịch vụ Bluetooth A2DP.
  • Thiết bị sức khoẻ. Android cung cấp hỗ trợ cho Thiết bị sức khoẻ Bluetooth Cấu hình (HDP). Quyền này cho phép bạn tạo các ứng dụng sử dụng Bluetooth để giao tiếp với các thiết bị y tế hỗ trợ Bluetooth, chẳng hạn như máy đo nhịp tim, thiết bị đo máu mét, nhiệt kế, cân, v.v. Để biết danh sách các thiết bị được hỗ trợ và mã chuyên môn về dữ liệu thiết bị tương ứng của họ, hãy xem HDP của Bluetooth Dữ liệu thiết bị Chuyên môn. Các giá trị này cũng được tham chiếu trong thông số kỹ thuật ISO/IEEE 11073-20601 [7] là MDC_DEV_SPEC_PROFILE_* trong Phụ lục Mã danh pháp. Để biết thêm thông tin về HDP, hãy xem Hồ sơ thiết bị sức khoẻ.

Dưới đây là các bước cơ bản để làm việc với một trang doanh nghiệp:

  1. Nhận bộ chuyển đổi mặc định, như mô tả trong Thiết lập Bluetooth.
  2. Thiết lập một BluetoothProfile.ServiceListener. Trình nghe này thông báo BluetoothProfile khách hàng khi chúng đã được kết nối hoặc bị ngắt kết nối khỏi dịch vụ.
  3. Sử dụng getProfileProxy() để thiết lập kết nối với đối tượng proxy hồ sơ liên kết với hồ sơ. Trong ví dụ sau, đối tượng proxy hồ sơ là một thực thể của BluetoothHeadset.
  4. Trong onServiceConnected()! xử lý đối tượng proxy hồ sơ.
  5. Sau khi bạn có đối tượng proxy hồ sơ, hãy sử dụng đối tượng này để theo dõi trạng thái của kết nối và thực hiện các thao tác khác liên quan đến hồ sơ đó.

Đoạn mã sau đây cho biết cách kết nối với proxy BluetoothHeadset để bạn có thể kiểm soát cấu hình Tai nghe:

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);

Lệnh AT dành riêng cho nhà cung cấp

Các ứng dụng có thể đăng ký nhận thông báo truyền phát của hệ thống về dữ liệu AT được xác định trước dành riêng cho nhà cung cấp các lệnh mà tai nghe gửi (chẳng hạn như lệnh Plantronics +XEVENT). Ví dụ: một ứng dụng có thể nhận các thông báo cho biết mức pin của thiết bị đã kết nối và có thể thông báo cho người dùng hoặc thực hiện hành động khác nếu cần. Tạo thông báo truyền tin người nhận cho ACTION_VENDOR_SPECIFIC_HEADSET_EVENT ý định xử lý các lệnh AT dành riêng cho nhà cung cấp cho tai nghe.

Hồ sơ thiết bị sức khoẻ

Android hỗ trợ Cấu hình thiết bị sức khoẻ Bluetooth (HDP). Bluetooth Health API bao gồm các lớp BluetoothHealth! BluetoothHealthCallback, và BluetoothHealthAppConfiguration, được mô tả trong Các lớp chính và giao diện.

Khi sử dụng Bluetooth Health API, sẽ rất hữu ích để hiểu rõ những HDP chính này các khái niệm:

Nguồn
Một thiết bị y tế (chẳng hạn như cân nặng, máy đo đường huyết hoặc nhiệt kế) truyền dữ liệu y tế sang thiết bị thông minh, chẳng hạn như điện thoại hoặc máy tính bảng Android.
Bồn rửa
Thiết bị thông minh nhận dữ liệu y tế. Trong một ứng dụng HDP, bồn lưu trữ dữ liệu được biểu thị bằng một đối tượng BluetoothHealthAppConfiguration.
Đăng ký
Quy trình dùng để đăng ký bồn rửa dùng để thông báo về một tình trạng sức khoẻ cụ thể thiết bị.
Sự kết nối
Quá trình dùng để mở một kênh giữa một thiết bị y tế (nguồn) và một thiết bị thông minh (bồn rửa).

Tạo một ứng dụng HDP

Dưới đây là các bước cơ bản để tạo một ứng dụng HDP:

  1. Lấy thông tin tham chiếu đến đối tượng proxy BluetoothHealth. Như bình thường tai nghe và thiết bị cấu hình A2DP, bạn phải gọi getProfileProxy() bằng BluetoothProfile.ServiceListenerHEALTH loại hồ sơ để thiết lập kết nối với đối tượng proxy hồ sơ.

  2. Tạo một BluetoothHealthCallback và đăng ký cấu hình ứng dụng (BluetoothHealthAppConfiguration) đóng vai trò là bồn rửa bát.

  3. Thiết lập kết nối với một thiết bị sức khoẻ.

  4. Khi kết nối thành công với một thiết bị sức khoẻ, hãy đọc và ghi vào dữ liệu sức khoẻ bằng cách sử dụng chỉ số mô tả tệp. Cần diễn giải dữ liệu nhận được bằng cách sử dụng một trình quản lý sức khoẻ, trình quản lý này triển khai IEEE 11073 .

  5. Khi hoàn tất, hãy đóng kênh thông tin sức khoẻ và huỷ đăng ký ứng dụng. Kênh này cũng đóng khi có không hoạt động trong thời gian dài.