使用私有框架BluetoothManager / iOS 5.0

时间:2011-12-23 21:54:25

标签: ios frameworks bluetooth iphone-privateapi

我可以借助私有框架启用蓝牙。

现在我必须搜索附近的设备。 我想deviceScanningEnabled命令是正确的,但我如何获得返回的设备?有没有回调函数?我读到了NotificationCenter中的一些通知?!

如何在此上下文中使用它?

3 个答案:

答案 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];

我不知道为什么,但你会发现附近的所有设备。然后你可以配对设备。

这是我被卡住的地方......我无法获得连接或交换数据