在Android中连接蓝牙

时间:2013-07-26 21:15:17

标签: android bluetooth arduino

我做了一个简单的应用程序,通过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()); }
}

使用Log,问题出在socket.connect();在那一点上,我必须输入设备的PIN,但它仍然没有连接...错误是“连接被拒绝”......

有什么不对?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情来处理连接。我刚刚在android-17上更新了一个旧的android-10应用程序并正好处理了这个问题。

BluetoothDevice yourDevice;
try {
        Method m = yourDevice.getClass().getMethod( "createInsecureRfcommSocket", new Class[] { int.class } );
        selectedDeviceSocket = (BluetoothSocket) m.invoke( yourDevice, Integer.valueOf( 1 ) );
        selectedDeviceSocket.connect();
    }