我可以借助私有框架启用蓝牙。
现在我必须搜索附近的设备。 我想deviceScanningEnabled命令是正确的,但我如何获得返回的设备?有没有回调函数?我读到了NotificationCenter中的一些通知?!
如何在此上下文中使用它?
答案 0 :(得分:2)
据我所知,蓝牙管理器在操作系统过滤结果后获取列表 - 这意味着您只能获得附近的耳机设备,而不是所有通用设备。如果您需要找到所有通用设备,则必须使用@ rajagp的答案。
在查找耳机足够的情况下,您可以按照说法使用通知;发现设备的通知称为“BluetoothDeviceDiscoveredNotification”。您首先需要列出通知:
[[NSNotificationCenter defaultCenter]
addObserver: self
selector: @selector( your_discovery_method_name)
name: @"BluetoothDeviceDiscoveredNotification"
object: nil];
“your_discovery_method_name”是您编写的显示/接受通知的方法。它看起来像这样:
-(void) your_discovery_method_name:(NSNotification *) notification {
self.device = [notification object];
NSLog(@"found: %@",self.device.address);
// ...
}
该设备来自BluetoothDevice类型。
答案 1 :(得分:0)
如果您正在为越狱手机开发,我建议使用第三方BlueTooth库 - BTStack。它易于使用,并且对我来说效果很好。可在以下网址找到:http://code.google.com/p/btstack/。
答案 2 :(得分:0)
替换
[btManager setDeviceScanningEnabled:YES];
带
[btManager scanForServices:0xFFFFFFFF];
我不知道为什么,但你会发现附近的所有设备。然后你可以配对设备。
这是我被卡住的地方......我无法获得连接或交换数据