2011-10-26 33 views
2

我讀這個 http://developer.android.com/guide/topics/wireless/bluetooth.html#QueryingPairedDevices在Android中手動配對Bluetooth Decives?

是配發的關於如何匹配的幫助下,連接到藍牙設備。

我有一種情況,我有幾個始終處於非發現模式的BT設備。我知道這些設備的MAC和PIN。在Android Dev中有一種方法可以手動將設備添加到PAIRED列表中,這樣我就可以使用connect作爲客戶端。 我明白這個maual是爲V3編寫的。我想我需要在2.0上做到這一點; 2.1-以前有人做過這個嗎?

基本上,我想連接的這些設備是節能模塊,我使用預先構建的BT模塊來監視日光,另一個溼度等。每隔3小時或中斷並運行單個電池幾個月。因此,關閉服務器上的分區可以節省巨大的電力,並防止其他人嘗試連接並浪費電池。

回答

3

不確定你的意思是「手動」:你的意思是「手動」,如在GUI /用戶交互中,或「手動」爲「我在我自己的應用程序代碼中執行」?

一些建議,但:

如果你可以讓你的BT設備發現在所有的,你可以這樣來做:

  1. 讓您的藍牙裝置發現
  2. 讓Android的搜索和查找然後發起連接
  3. Android會詢問PIN與設備配對;輸入PIN碼。
  4. 配對成功後,Android會存儲配對信息以供將來使用,以便您可以
  5. 讓您的BT設備再次隱藏。

從那時起,您的應用程序應該能夠隨時連接到BT設備,無需進一步配對操作。

如果說的是不是一個選擇,也許你希望走另一條路:

在目前的Android版本也有不同的執行API例程這既不記錄也不正常SDK曝光。黑客類型的解決方案可能是通過反射或通過修改SDK安裝來使用這些「隱藏的」(「@hide」...)API中的一些。

但請注意,這總是黑客,它可能在特定設備上使用特定版本的Android,並可能會在另一設備和/或任何其他Android版本上破壞您的應用。

說了這麼多,來了一些參考:

Example of how to access "hidden" bluetooth API

然後,查看android.bluetooth.BluetoothDevice的源代碼,例如, here

在那裏,public boolean createBond(){...}可以做你想做的。