2012-10-09 43 views
2

我查詢使用getUuids()電話從我的Android應用程序的UUID的Nexus One和我看到下面返回:的Android - SPP UUID的歌Nexus One運行Android 2.3.6

0 th UUID found is 00001105-0000-1000-8000-00805f9b34fb 
1 th UUID found is 00001106-0000-1000-8000-00805f9b34fb 
2 th UUID found is 0000110a-0000-1000-8000-00805f9b34fb 
3 th UUID found is 0000110c-0000-1000-8000-00805f9b34fb 
4 th UUID found is 00001112-0000-1000-8000-00805f9b34fb 
5 th UUID found is 0000111f-0000-1000-8000-00805f9b34fb 
6 th UUID found is 0000112f-0000-1000-8000-00805f9b34fb 
7 th UUID found is 00001200-0000-1000-8000-00805f9b34fb 

我問題是:爲什麼我無法在此列表中看到SPP的標準UUID(00001101-0000-1000-8000-00805f9b34fb)?

我測試過,我能夠使用S2藍牙終端應用程序將串行數據從Android設備(Xoom)發送到此Nexus One手機。此數據傳輸中使用了哪個UUID?

回答

1

S2 Bluetooth Terminal應用程序使用00001101-0000-1000-8000-00805F9B34FB硬編碼(使用smali進行檢查)。

記住以下幾點:

  • 看着the docs for getUuids()我注意到:

    此方法不會啓動服務發現過程從遠程設備檢索的UUID。而是返回服務UUID的本地緩存副本。如果需要新的UUID,請使用fetchUuidsWithSdp()。

    您試過fetchUuidsWithSdp()

  • S2 Bluetooth Terminal雖然有用,但它並不是真正的SDP調試工具。就個人而言,我寧願嘗試使用BlueZ實用程序(或者類似的東西,如果在Windows上 - 但我會在這裏推薦Linux)來查看設備實際公佈的服務。這樣你就可以(至少)將問題縮小到其中一個設備。

    編輯:在Windows中可以使用Bluetooth Network Scanner

這裏是你如何可以用的BlueZ工具(GPS接收器用於此樣品)掃描服務小樣本:

[email protected]:~$ hcitool scan 
Scanning ... 
    00:1C:88:11:0E:CC PENTA-GPS 
[email protected]:~$ sdptool browse 00:1C:88:11:0E:CC 
Browsing 00:1C:88:11:0E:CC ... 
Service Name: SPP Slave 
Service RecHandle: 0x10000 
Service Class ID List: 
    "Serial Port" (0x1101) 
Protocol Descriptor List: 
    "L2CAP" (0x0100) 
    "RFCOMM" (0x0003) 
    Channel: 1 
Language Base Attr List: 
    code_ISO639: 0x656e 
    encoding: 0x6a 
    base_offset: 0x100 
+0

謝謝@CodePainters。我能夠使用fetchUuidswithSdp()驗證標準SPP UUID未被廣告給此手機。 Xoom如何通過S2藍牙終端將數據發送到Nexus設備。它使用其他一些藍牙配置文件? – user1102412

+0

這確實是一個很好的問題。但是,再次 - 我會首先消除Android客戶端,然後使用我的PC掃描服務列表以查看真正廣告的內容。沒有返回服務的fetchUuidswithSdp()不足以說服務沒有被公佈 - 它可能是客戶端的一個錯誤。如果你在Windows上,試試這個:http://www.medieval.it/bluescan-pc/menu-id-72.html –

+0

另外,你可能會覺得這很有用:http://stackoverflow.com/questions/ 9405575/android-bluetooth-sdp-does-not-recognition-service-advertised-in-javame –

相關問題