簡體   English   中英

識別android中的android藍牙設備

[英]Identify android bluetooth device in android

我在android api 15級中做藍牙應用程序,我想使用藍牙連接遠程設備。 我使用fetchUuidsWithSdp()獲得了UUID。 我正在為諾基亞,PC等所有其他設備獲取uuid,但沒有android設備。

從Doucment,

fetchUuidsWithSdp()。//此API是異步的,並發送ACTION_UUID意圖,而遠端支持UUID。 如果獲取SDP記錄時出錯,或者該過程花費很長時間,則將使用緩存中當前存在的UUID發送ACTION_UUID意向。 如果不執行服務發現,則客戶端應使用getUuids()獲取UUID。

從文檔“客戶端應使用getUuids()”開始,我的問題是,如何識別UUID是來自其他設備還是來自android?

你不能

來自Android文檔 :“ UUID的意義在於它足夠大,您可以選擇任何隨機變量,並且不會發生沖突。”

除了串行端口配置文件(SPP)UUID 00001101-0000-1000-8000-00805F9B34FB ,由於上述原因,沒有眾所周知的UUID。

0x1101是串行端口配置文件的ID -這就是為什么UUID開頭00001101 因此,您顯然可以識別其他設備支持的配置文件(這首先就是SDP的主要原因)。 您可以嘗試查看“設備ID(DID)”配置文件,看看是否有什么可以依靠來檢測另一方的制造商。

關於您沒有從Android設備獲取任何UUID:確保這些設備實際上通過藍牙(例如,網絡訪問)至少提供一項服務-然后,您應該獲得一個以網絡訪問配置文件的ID開頭的UUID(例如泛)。

與docs狀態一樣,getUuids()和fetchUuidsWithSdp()之間的區別在於,后者實際上向另一台設備執行了SDP請求,而前者只是返回了最后一個響應(最常見的是發現時收到的響應)。藍牙2.1+)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM