私はrfcommを介して外部アクセサリーと話すプログラムを書いています。 私の問題は、自分のデバイスを識別する正しい方法が何であるか分かりません。私は今それを行う 方法は、このようなものです:AndroidのBluetooth - 正しいBluetoothデバイスに接続するにはどうすればいいですか?
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter
.getBondedDevices();
for (BluetoothDevice device : pairedDevices) {
if (device.getName().equals(MY_DEVICE_NAME)) {
this.myDevice = device;
break;
}
}
この方法は、しかし、私に汚いと悪いようだデバイス:) の名前に依存しているこれを行うには良い方法はありますか? 私はBluetoothDeviceのすべての方法を見てみましたが、誰も助けてくれないようでした。名前は本当にそれを行う最良の方法ですか?
_socket = myDevice.createRfcommSocketToServiceRecord(MY_UUID);
それを行うには良い方法があります: 私はいくつかの場所で、人々は、私はそれを持っていたら、私はUUIDを使用する必要がありますが、それは、デバイスへのソケットを開くために使用されていることを言っているのを見ましたか?
特定のクラスのデバイス(jabraヘッドセットの特定のモデル)に接続しようとしています。そのため、アドレスはあらかじめわかっていません。私はdevice.getBluetoothClass()のようなものを考えていましたが、どのように動作するのかわかりません... – ekatz
getBluetoothClassはデバイスのタイプとデバイスがサポートするサービスのタイプを取得します。これは、種類のデバイスにさらにフィルタリングするのに便利です。しかし、最終的には、あなたのBluetoothアドレスを取得し、接続する必要があるデバイスに接続する。 –
plsは投票するか、それが有用であれば答えを受け入れます。 –