【发布时间】:2016-05-31 11:04:32
【问题描述】:
我需要做一个应用程序,它能够判断我当前是否连接到经典蓝牙设备(实际上,它将是蓝牙汽车设备)。
我的第一步是告诉当前连接的经典蓝牙设备是什么。我不能使用 CoreBluetooth,因为它仅适用于 LE。我尝试使用外部附件框架。
这里是代码(一个按钮启动方法):
- (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);
}
我曾尝试将 iPhone 连接到蓝牙键盘和蓝牙耳机。在这两种情况下,控制台都会显示数字为 0。
我怎样才能显示正确的数字?
【问题讨论】:
-
EAAcessoryManager 中似乎没有列出“普通”键盘和“普通”耳机等蓝牙设备。
-
是的,我认为这是因为设备必须是 MFI,而“普通”蓝牙设备可能并非如此。我找到的解决方案是使用 [[AVAudioSession sharedInstance] availableInputs] 来获取蓝牙输入,但是,使用此解决方案,我无法在后台接收通知(我必须播放音乐才能被允许接收通知)。
标签: ios external-accessory ios-bluetooth