我有以下安卓代码,我正在连接到一个使用蓝牙向我发送连续数据流的设备。在下面的代码中,在获取一些数据之后,即使仍然建立了蓝牙连接并且设备正在发送数据,我也无法再读取任何数据。
我开始收到以下错误 信息:流阅读器中的错误:bt socket关闭,读取返回:-1
private void readStreamDataInSeparateThread()
{
new Thread(new Runnable() {
@Override
public void run() {
while(inputStream != null && isConnected())
{
try
{
byte[] buffer = new byte[1024];
int readCount = inputStream.read(buffer);
System.out.println("Info: ReadCount:"+readCount);
if(readCount > 0)
byteBuffer.add(buffer,0,readCount);
else
{
if(time_out_counter >= TIME_OUT)
{
closeConnection();
break;
}
time_out_counter++;
System.err.println("Info: error end of stream reached for stram reader");
}
Thread.sleep(50);
}catch(IOException e){
System.err.println("Info: error in stream reader:"+e.getMessage());
// closeConnection();
}
catch(InterruptedException e){}
}
System.out.println("Info: stream stoped reading ");
}
}).start();
}
但奇怪的是,如果我保持我的设备&#c; c(三星标签3 neo)wifi打开并连接,那么我没有收到任何错误。 此外,如果我将时间延迟增加到超过6秒,那么我很长时间都不会收到此错误。
请让我知道,如果有人能够解决问题或给我一些指示