次のコードを使用して、HTC One X から SENA bluetooth ESD110 シリアル モジュールへの安全でない rfcomm 接続を作成しています。
BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(addr);
BluetoothSocket socket = null;
try{
socket = device.createInsecureRfcommSocketToServiceRecord(UUID.fromString(SERVICE_UUID));
mBluetoothAdapter.cancelDiscovery();
socket.connect();
sendMessage(socket,"working!");
socket.close();
ここでのポイントはオートペアリングでモジュールに接続することで、すべて動作していますが、接続が確立されるまでに約 15 秒かかります。
デバッグは次の場所に残ります。
socket.connect();
15秒間、その後のみストリングを接続してモジュールに転送します(これには1秒かかります)。
MAC アドレスに接続する前に電話が他のデータ (サービス検出など) を処理している可能性はありますか? それとも、HTC ハードウェアの問題でしょうか?