0

BT経由で携帯電話をArduinoに接続するための簡単なアプリを作成しましたが、すべてうまくいきました。私の携帯電話には Android 2.3.6 が搭載されています... しかし、タブレット (Android 4.0.3) でアプリを試してみると、接続できません。ここに特定のコードを投稿します。

try {
        BluetoothSocket socket = mydevice.createRfcommSocketToServiceRecord(UUID.fromString(ARDUINO_STANDAR_UUID));
        socket.connect();
        OutputStream output = socket.getOutputStream();
        InputStream input = socket.getInputStream();
        Log.d(TAG, "Connected");
    }
    catch (IOException e) { Log.e(TAG, e.getMessage()); }
}

ログを使用すると、問題は socket.connect(); にあります。その時点で、デバイスの PIN を入力する必要がありますが、とにかく接続されません...エラーは「接続が拒否されました」です...

何が間違っている可能性がありますか?

4

1 に答える 1

0

このようなことを試して、接続を処理してください。先日、古いandroid-10アプリをandroid-17に更新したところ、まさにこれに対処しました。

BluetoothDevice yourDevice;
try {
        Method m = yourDevice.getClass().getMethod( "createInsecureRfcommSocket", new Class[] { int.class } );
        selectedDeviceSocket = (BluetoothSocket) m.invoke( yourDevice, Integer.valueOf( 1 ) );
        selectedDeviceSocket.connect();
    }
于 2013-07-26T21:32:23.187 に答える