2010-10-27 80 views
11

我想通過藍牙連接3個設備。例如我使用BluetoothChat。所以我怎麼理解我應該爲這些設備使用不同的UUID。我一直試圖通過這樣的UUID = 766c82f0-e1b4-11df-85ca-0800200c9a66進行連接,我從Web UUID生成器中獲取它。但它根本不起作用。 如果我使用UUID = 00001101-0000-1000-8000-00805F9B34FB 我可以成功連接(到1設備)哪裏可以獲得UUID?Android藍牙我在哪裏可以獲得UUID?

回答

0

您必須使用您嘗試連接的設備執行服務發現,獲取它返回的UUID(將對應於設備上運行的服務並接受連接),然後連接到它。

2

UUID是用來唯一標識applications.Each應用程序有一個唯一的UUID。所以使用相同的UUID爲每個設備

2

爲了與針對性的設備連接,你需要知道什麼是你連接。列出設備目標會更有幫助。

的UUID可以從此鏈接中獲得,http://www.bluecove.org/bluecove/apidocs/javax/bluetooth/UUID.html

在這裏,你需要知道你的每一個目標設備正在使用的藍牙配置文件。你提到「UUID = 00001101-0000-1000-8000-00805F9B34FB」的作品。

這是由於您的設備具有SPP藍牙配置文件。 SPP代表串行端口配置文件。

你也可以查找在Bluetoothdevice.getuuids http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#getUuids()

0

試想一下,便u有一個或多個服務。每個服務都有自己的UUID。 UUID = 00001101-0000-1000-8000-00805F9B34FB是SPP專用的一種。如果您未設置SPP UUID,某些設備(例如藍牙串行板)將不起作用。 但是,對於Android設備(如智能手機)之間的點對點連接,您可能會使用您自己生成的UUID。 設備必須設置相同的UUID才能找到彼此並進行連接。 UUID格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx其中x = [0,...,9] | [A,...,F]。 好主意是將xxxxxxxx-xxxx-xxxx-xxxx-設置爲您生成的唯一ID。 第二部分xxxxxxxxxxxx可能設置爲您的服務器MAC地址不帶「:」。 在客戶端,您可以從已知生成的唯一標識(嵌入到您的應用中)和服務器MAC地址(不帶「:」)構建UUID。您可以在藍牙設備發現期間獲取服務器MAC地址。

7

如果你使用的是linux或者mac,在終端輸入「uuidgen」這個命令而不用引號,你會得到一個唯一的UUID,在你的android項目中使用它。