我试图从蓝牙电路读取数据。当我尝试使用socket.connect()
连接电路时,出现以下错误消息。
“ E /:读取失败,套接字可能关闭或超时,读取ret:-1”
Android版本-7.1.1
您能帮我解决这个问题吗?
public boolean Connect()
{
boolean connected=true;
try {
socket = device.createRfcommSocketToServiceRecord(PORT_UUID);
try {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
socket.connect();
Log.e("","Connected");
} catch (IOException ex) {
Log.e("", ex.getMessage());
try {
Log.e("", "trying fallback...");
socket = (BluetoothSocket) device.getClass().getMethod("createInsecureRfcommSocket", new Class[]{int.class}).invoke(device, 1);
socket.connect();
// Log.e("", "Connected");
} catch (Exception e2) {
Log.e("", "Couldn't establish Bluetooth connection!");
connected=false;
}
}
} catch (IOException e) {
e.printStackTrace();
connected=false;
}
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />