2017-03-04 10 views
0

私はBluetoothアプリケーションを開発しています。特定のクライアントBluetoothデバイスによって提供されるサービスの名前を取得する必要があります。私は次のコードを使ってUUIDを取得しています。ブルートゥースで対応する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()); 
} 
} 

私は「00001000-0000-1000-8000-00805F9B34FB」の例と同様にUUID値を取得しています。しかし、私は以下のように、それに対応するサービス名を必要としています。

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

答えて

0

On Bluetooth.comあなたは16ビットのUUIDのリストを見つけることができます。 128ビットのものにはすべてtransformableです。 GATT仕様をチェックするだけです。残っている唯一のことは、UUIDの名前をマッピングすることです。これはおそらくあなた自身で書く必要があります。ところで

+0

名前をマッピングする特定の構文がないことを意味しますか? @morynicz –

+0

あなたはUUIDを人間が読める文字列に変換するための方法を組み込んでいますか?疑わしい。しかし、あなたはアンドロイドのドキュメントをチェックインできます。 – morynicz

+0

ありがとう@morynicz –

0

は、それが接続されているときに我々は(UUIDを除く)アンドロイドパブリックAPIを介してservice_nameまたはcharactistics_nameを得ることができない、のiOSデベロッパーより違うので、私たちは私たち自身に、リモートのBluetoothで外blutetooth SIG definedservice_nameまたはcharactistics_nameをextpandしたい 場合ハードウェア。ターゲットの特性名を直接取得することはできません(charactistics.getUUIDName())(まだマッピングを使用することはできません)。

関連する問題