2016-05-23 13 views
0

私は2つのBLE周辺機器(iOSとAndroid)と中央のMacBookを持っています。Android周辺機器の識別子は決して同じ

私は既に接続、書き込み、読み取り、通知に成功しましたが、Androidの周辺機器UUIDに問題があります。

中央のdidDiscoverPeripheralメソッド(中央)では、AndroidデバイスのUUIDはアプリケーションの再起動後に決して同じではありません。

あなたが任意のアイデアを持っていますか私は、デバイスを特定する必要があるが、私はUUIDはいつも..

を変更できない場合は?

+0

私はアンドロイドのプログラミングについてはわかりませんが、私はBluetooth LEを知っています。あなたのデバイスのアドレスタイプが「ランダムなプライベート解決可能」である可能性があるため、ランダムな静的 " –

答えて

1

Androidの周辺モードでは、BluetoothLeAdvertiser.startAdvertising()を呼び出すたびに、そのMACアドレスが変更されます。これはセキュリティ対策であり、無効にすることはできません。this so questionで詳細を読むことができます。

iOS/Mac OSでは、CoreBluetoothは、スキャンされた周辺機器のUUIDを広告データから生成し、既知の要因の1つは周辺機器のMACアドレスです。したがって、Android周辺機器がMacアドレスを変更した場合、Mac中心のUUID変更を停止する方法はありません。

あなたのAndroid周辺機器の広告データにデータを追加することをお勧めします。

+0

私はデータを追加しようとします!ありがとう –

+0

デバイス発見のための簡単な解決策を探しているなら、そこにはSDKがありますので、自分でデバイスなどを特定するのは苦労しないでください。チェックアウトp2pkit.ioまたは近くのGoogle。 – p2pkit

関連する問題