2012-06-27 250 views
0

我試圖做一個應用程序,從其他設備接收一些二進制數據,這是而不是運行Android。 Android手機不應該將任何數據傳輸到此設備。因此,我的問題:Android手機和支持藍牙的硬件設備之間的藍牙通信

  1. 手機應該作爲建立RCOMM通道的服務器?
  2. 只要我知道設備的MAC地址,是否可以連接手機和本設備而不削減?如果是這樣,怎麼樣?

是的,我已閱讀http://developer.android.com/guide/topics/connectivity/bluetooth.html所以沒有必要只回答該鏈接。 :)

在此先感謝!

回答

1

1) 電話應該充當接收機

我發現棘手的部分是使用正確的UUID

如果連接兩部手機,你應該產生的,一切都正常工作,但你的硬件,你可以不是輕易改變UUID。 看看這些reserved UUIDs

對於串行端口配置文件(SPP)通信,使用UUID 00001101-0000-1000-8000-00805F9B34FB

2) 你可以可以連接到設備,如果你已經知道MAC地址,你甚至不需要使用藍牙發現。

要獲取設備使用MAC地址呼叫getRemoteDevice(String) 然後createRfcommSocketToServiceRecord(UUID)得到BlueToothSocket

另請參閱checkBluetoothAddress(String)以驗證MAC地址。