Tôi cần thực hiện một ứng dụng có thể biết liệu tôi hiện có được kết nối với thiết bị Bluetooth cổ điển hay không (thực sự, nó sẽ là Bluetooth thiết bị xe hơi).Lấy danh sách các thiết bị kết nối bluetooth cổ điển (không có BLE) [EAAccessoryManager]
Bước đầu tiên của tôi là cho biết thiết bị Bluetooth cổ điển được kết nối hiện tại là gì. Tôi không thể sử dụng CoreBluetooth vì nó chỉ dành cho LE. Tôi cố gắng sử dụng khuôn khổ Phụ kiện bên ngoài.
Đây là mã (một nút bắt đầu phương pháp):
- (IBAction)startMethodGetConnected:(id)sender {
NSLog(@"button taped");
// Get the number of accessories connected
NSUInteger NumberOfAccessoriesConnected = [[EAAccessoryManager sharedAccessoryManager].connectedAccessories count];
//Display the number
NSLog(@"number of accessories connected : %d", NumberOfAccessoriesConnected);
}
Tôi đã cố gắng khi iPhone được kết nối với một bàn phím Bluetooth và cũng với một tai nghe Bluetooth. Trong cả hai trường hợp, bảng điều khiển hiển thị số đó là 0.
Làm cách nào để hiển thị số chính xác?
Dường như các thiết bị Bluetooth như Bàn phím "bình thường" và Tai nghe "bình thường" không được liệt kê trong EAAcessoryManager. – Larme
Có, tôi nghĩ rằng đó là vì thiết bị phải là MFI, có thể không phải là trường hợp đối với các thiết bị bluetooth "bình thường". Giải pháp mà tôi thấy là sử dụng [[AVAudioSession sharedInstance] availableInputs] để nhận đầu vào bluetooth, tuy nhiên, với giải pháp này, tôi không thể nhận được thông báo trong khi ở chế độ nền (tôi sẽ phải phát nhạc để được phép nhận thông báo). – augustin