Tôi đang làm việc trên một dự án để định cấu hình đèn hiệu. Một khoảng thời gian nhất định sau khi được bật nguồn, đèn hiệu trở nên không thể định cấu hình cho đến khi nó được xoay vòng nguồn. Để hiển thị danh sách các cảnh báo có thể định cấu hình, tôi đang xem xét các đặc điểm nhất định (tên thiết bị Bluetooth, dữ liệu nhà sản xuất nhất định trong gói quảng cáo). Tôi cũng cần phải biết nếu nó là "kết nối", tôi. e. nếu Kiểu PDU trong gói quảng cáo BLE cho thiết bị cho biết rằng nó có thể kết nối được. Tôi đã tìm kiếm các lớp học Android Bluetooth cao và thấp, cả trong Android 4.X và 5.X và đã không thể tìm thấy bất cứ điều gì mà sẽ cho tôi biết thông tin này.Phát hiện xem thiết bị BLE có thể kết nối được trên Android
Tôi nhận thấy rằng một cách để xác định khả năng kết nối đèn hiệu là kết nối với nó, e. g .: device.connectGatt(...)
. Tuy nhiên, tôi đã nhìn thấy nó mất hơn hai phút đôi khi trước khi gọi lại đến onConnectionStateChange
quay lại với STATE_DISCONNECTED
. Ngoài ra, có thể có nhiều cảnh báo trong môi trường này và kết nối với từng cảnh báo riêng lẻ mà có thể có thể định cấu hình sẽ không hiệu quả.
Tương đương iOS của thuộc tính này có thể được tìm thấy trong từ advertisementData
từ điển theo khóa CBAdvertisementDataIsConnectable
trong phương thức gọi lại CBCentralManagerDelegate
centralManager:didDiscoverPeripheral:advertisementData:RSSI
.
Vì vậy, câu hỏi đặt ra là: có cách nào trên Android để xác định xem thiết bị BLE có "kết nối" từ dữ liệu quảng cáo hoặc kết quả quét hay không ...?
Cho rằng khẳng định của bạn phù hợp với những phát hiện của riêng tôi, tôi nghĩ câu trả lời ở đây là không có câu trả lời. :-( – mharper
Tôi rất tiếc vì đã đúng lúc này – davidgyoung
Điều này hiện có thể là của Android O – davidgyoung