Android Bluetooth .connect() изключение Nexus 7 OBDII адаптер

Използвам стандартни API процедури за свързване към устройство. Конкретно OBDII bluetooth адаптери.

Имам два OBDII bluetooth адаптера, от различни модели. Изпълнявайки абсолютно същия код, първият ще се сдвои и свърже без проблем с всеки телефон/таблет, който съм тествал. Вторият ще се сдвои и ще се свърже добре, освен с моя Nexus 7, работещ с android 4.2

Той хвърля IO изключение: 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;
        }

person user2259880    schedule 09.04.2013    source източник
comment
Получавам същата грешка, когато се свързвам с моя BT-донгъл на моя компютър (сериен-UUID) (Nexus 4, Android 4.2, насочване към приложение за 4.2). Нямам тези проблеми с някое старо приложение, което написах преди година, използвайки същия начин на свързване, но насочен към API 8.   -  person Martze    schedule 10.04.2013
comment
androidpolice.com/2012/11/19/ ‹- тази статия разказва за някои проблеми, свързани с 4.2   -  person Martze    schedule 10.04.2013


Отговори (1)


Знам, че това е доста стар въпрос. Но тъй като не успях да намеря никакво решение в мрежата. Хората, които търсят това, може да се интересуват от заобиколното решение, което намерих: IOException: четенето е неуспешно, гнездото може да е затворено - Bluetooth на Android 4.3

person matthes    schedule 13.09.2013