2011-12-23 78 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]; 

我不知道爲什麼,但你會發現附近的所有設備。然後你可以配對設備。

這就是我卡住的地方......我無法獲得連接或交換數據