Android蓝牙.connect()异常Nexus 7 OBDII适配器

时间:2013-04-09 03:15:08

标签: android bluetooth connect ioexception obd-ii

我使用标准API程序连接到设备。特别是OBDII蓝牙适配器。

我有两个不同型号的OBDII蓝牙适配器。运行完全相同的代码,第一个将与我测试的每个手机/平板电脑配对和连接没有问题。第二个将配对和连接正常,除了我运行Android 4.2的Nexus 7

抛出IOexception:read failed, socket might closed or timeout, read ret: -1

认为这只是设备本身或更新版本的错误......但随后是另一款软件"扭矩"能够从我的Nexus 7连接到任一适配器。

所以我明显做错了/不同,这只是后来操作系统中的一个问题???

任何帮助解决这个问题都将非常感激。

    public void run() {
        Log.i(TAG, "BEGIN mConnectThread");
        setName("ConnectThread");

        // Always cancel discovery because it will slow down a connection
        mAdapter.cancelDiscovery();

        // Make a connection to the BluetoothSocket
        try {
            // This is a blocking call and will only return on a
            // successful connection or an exception

            mmSocket.connect(); <=**This is where the exception is thrown

        } catch (IOException e) {
            Etype =  "Connection to: " + mmDevice.getName() + " at: "
                    + mmDevice.getAddress() + " failed: " + e.getMessage();
            connectionFailed();
            // Close the socket
            try {
                mmSocket.close();
            } catch (IOException e2) {
                Log.e(TAG, "unable to close() socket during connection failure", e2);
            }
            // Start the service over to restart listening mode
            BluetoothChatService.this.start();
            return;
        }

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题。但是因为我无法在网上找到任何解决方案。搜索此内容的人可能会对我找到的解决方法感兴趣:IOException: read failed, socket might closed - Bluetooth on Android 4.3