2009-11-04 118 views
1

當前我正在使用藍牙API,專用於Microsoft藍牙堆棧。我用C++開發了藍牙PC應用程序,它發現遠程藍牙設備,然後通過一些API對設備進行身份驗證。問題是當我從遠程設備關閉藍牙無線電,然後通過PC應用程序再次搜索設備時,即使遠程設備無線電關閉,API仍然檢測到遠程設備。藍牙API檢測遠程設備上的收音機關閉

我懷疑作爲操作系統一部分的設備緩存沒有得到更新。所以API返回相同的設備名稱。

任何幫助找到爲什麼設備不更新,也任何指針藍牙API將不勝感激。

回答

1

如果您需要關於如何處理這個問題,你應該看看在手藍牙庫的一些想法(源avaible),以瞭解他們是如何做的。 http://32feet.net/ 我使用該庫,我可以得到範圍內的遠程設備(prevoiusly配對)的列表。

0

設備獲取認證後,認證裝置的列表中。 您需要先從列表中刪除您的設備。

因此在再次搜索設備之前,您可以使用BluetoothFindFirstDevice和BluetoothFindNexttDevice循環訪問經過身份驗證的設備列表。根據類或友好名稱過濾設備,然後通過調用BluetoothRemoveDevice將其刪除。

下次,如果您在設備關閉時調用身份驗證API,它將失敗,併發出超時錯誤。現在您知道設備已關閉!