我可以在私有框架的帮助下启用蓝牙。
现在我必须搜索附近的设备。我猜 deviceScanningEnabled 命令是正确的,但我如何获得返回的设备?有没有回调函数?我读到了一些将在 NotificationCenter 中的通知?!
在这种情况下如何使用它?
我可以在私有框架的帮助下启用蓝牙。
现在我必须搜索附近的设备。我猜 deviceScanningEnabled 命令是正确的,但我如何获得返回的设备?有没有回调函数?我读到了一些将在 NotificationCenter 中的通知?!
在这种情况下如何使用它?
据我所知,蓝牙管理器会在操作系统过滤结果后获取列表 - 这意味着您只会获得附近的耳机设备,而不是所有通用设备。如果您需要查找所有通用设备,则必须使用@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 类型。
如果您正在为越狱手机进行开发,我建议您使用第三方蓝牙库 - BTStack。它易于使用,对我来说效果很好。可在以下网址获得:http ://code.google.com/p/btstack/ 。
代替
[btManager setDeviceScanningEnabled:YES];
和
[btManager scanForServices:0xFFFFFFFF];
我不知道为什么,但你会发现附近的所有设备。然后您可以配对设备。
这就是我卡住的地方......我无法获得连接或交换数据