2011-12-23 77 views
1

我可以在私人框架的帮助下启用蓝牙。使用私人框架BluetoothManager/iOS 5.0

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

如何在这种情况下使用它?

回答

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。

0

更换

[btManager setDeviceScanningEnabled:YES]; 

[btManager scanForServices:0xFFFFFFFF]; 

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

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