答案 0 :(得分:0)
我个人使用此经验“java.io.IOException:读取失败,套接字可能关闭或超时,读取ret:-1”
就我而言。蓝牙设备连接到另一个设备并测试连接。后来,我断开了与其他设备的连接并尝试连接到我的设备,但是没有建立连接。
开启后&多次关闭设备。我的设备连接到蓝牙设备。
即使设备已断开连接。未从设备中删除设备连接的地址。我正在使用条形码扫描仪设备。
有可能是这样的。请关闭然后再打开并重置蓝牙设备。
试试这个
try {
mmSocket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"));
mmSocket.connect();
} catch (IOException e) {
Log.d(TAG, "Fail Attempt1 : " + e.toString());
try{
mmSocket =(BluetoothSocket) mmDevice.getClass().getMethod("createInsecureRfcommSocket", new Class[] {int.class}).invoke(mmDevice,1);
mmSocket.connect();
} catch (Exception e1){
try {
mmSocket.close();
} catch (IOException e5) {
}