簡體   English   中英

如何在藍牙中獲取相應UUID的服務名稱?

[英]How to get the name of the service for the corresponding UUID in bluetooth?

我正在開發藍牙應用程序,我需要獲取特定客戶端藍牙設備提供的服務的名稱。 我正在使用以下代碼來獲取UUID。

代碼段:

 if(BluetoothDevice.ACTION_UUID.equals(action)) 
 {
 BluetoothDevice device =       intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
 Parcelable[] uuidExtra =    intent.getParcelableArrayExtra(BluetoothDevice.EXTRA_UUID);
 for (int i = 0; i < uuidExtra.length; i++) {
String abc=uuidExtra[i].toString());
 }
 }

我正在獲取uuid值,例如“ 00001000-0000-1000-8000-00805F9B34FB”,但是我需要其相應的服務名稱,如下所示。

BrowseGroupDescriptorServiceClassID = 00001001-0000-1000-8000-00805F9B34FB PublicBrowseGroupServiceClass = 00001002-0000-1000-8000-00805F9B34FB

在Bluetooth.com上,您可以找到16位UUID的列表。 它們都可以轉換為您獲得的128位。 您只需要檢查GATT規范即可。 剩下的唯一事情就是用UUID映射名稱,您可能必須自己編寫。

順便說一句,這是來自iOS的開發不同,我們不能讓service_namecharactistics_name通過Android的公共API(除UUID)連接時,所以如果我們想extpand我們自己service_namecharactistics_name是外blutetooth SIG定義在遠程藍牙硬件。 我們無法直接獲取目標charactistics_name(例如charactistics.getUUIDName() )(仍然使用映射將自己添加為charactistics_uuid是不可互換的)

暫無
暫無

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

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