zebra printer connection failed“读取失败,套接字可能已关闭或超时,读取ret:-1”

km0tfn4u  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(820)

“java.io.ioexception:read failed,socket may closed or timeout,read ret:-1”当我尝试通过蓝牙将android设备与zebra zd410打印机连接时出现异常。

try {
            mmSocket.connect();
        } catch (IOException e1) {
            android.util.Log.e(TAG, e1.toString());

            try {
                android.util.Log.i(TAG, "Trying fallback...");
                mmSocket =(BluetoothSocket) mmDevice.getClass().getMethod("createRfcommSocket", new Class[] {int.class}).invoke(mmDevice,1);
                mmSocket.connect();
                android.util.Log.i(TAG, "Connected");
            } catch (Exception e2) {
                android.util.Log.e(TAG, "Couldn't establish Bluetooth connection!");
                try {
                    mmSocket.close();
                } catch (IOException e3) {
                    android.util.Log.e(TAG, "unable to close() " + mSocketType + " socket during connection failure", e3);
                }
                connectionFailed();
                return;
            }
        }

我已经尝试了回退套接字连接的解决方案,但没有帮助。此代码适用于epson打印机和其他一些设备,但不适用于zebra zd410打印机。原因是什么?

bqjvbblv

bqjvbblv1#

我收到了斑马队的回复。我的zebra打印机只支持蓝牙le,解决方案是使用具有蓝牙经典功能的打印机。
zd410的SKU表示仅蓝牙le打印机是zd4x $x,其中$是e、f、m或s。对于android设备而言,蓝牙le不是连接打印机并打印到打印机的足够连接。为了能够从android设备通过蓝牙连接和打印,打印机需要蓝牙经典功能。zd410的SKU表示除蓝牙le之外的蓝牙经典功能是zd4x $x,其中$是a、b、l或w。

相关问题