Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ';IOException:管道破裂';写入时由蓝牙输出流引发(Android)_Java_Android_Bluetooth_Ioexception_Broken Pipe - Fatal编程技术网

Java ';IOException:管道破裂';写入时由蓝牙输出流引发(Android)

Java ';IOException:管道破裂';写入时由蓝牙输出流引发(Android),java,android,bluetooth,ioexception,broken-pipe,Java,Android,Bluetooth,Ioexception,Broken Pipe,我正在开发一个Android应用程序,它通过输出流与蓝牙设备进行通信。只要手机有互联网连接,这就可以正常工作。然而,如果手机失去了互联网连接,写入所述输出流通常会导致抛出“IOException-Breaked管道”。更奇怪的是,异常没有提供堆栈跟踪,而异常的原因只是对自身的引用。以前有没有人见过这样的问题,或者知道原因是什么?目前我想知道这是否是安卓系统的一个bug。谢谢很明显,您正在写入的设备已经关闭了其连接端。我假设是这样,但是该设备没有意识到Android手机正在失去互联网连接。我没有向

我正在开发一个Android应用程序,它通过输出流与蓝牙设备进行通信。只要手机有互联网连接,这就可以正常工作。然而,如果手机失去了互联网连接,写入所述输出流通常会导致抛出“IOException-Breaked管道”。更奇怪的是,异常没有提供堆栈跟踪,而异常的原因只是对自身的引用。以前有没有人见过这样的问题,或者知道原因是什么?目前我想知道这是否是安卓系统的一个bug。谢谢

很明显,您正在写入的设备已经关闭了其连接端。我假设是这样,但是该设备没有意识到Android手机正在失去互联网连接。我没有向它发送任何表示连接丢失的数据包,而且我发送给它的数据包都不依赖于来自互联网的数据。我没有说明它为什么关闭了连接。这可能与网络丢失无关。例如,您可能发送了它不理解的内容。请将堆栈跟踪编辑到您的问题中。在我的情况下,如果我在创建套接字后立即传输,蓝牙设备侧的连接显然会断开。我在我的Android代码中添加了延迟作为一种解决方法,现在它可以很好地工作了。谢谢你提供的信息,我将尝试这样做。这似乎是偶然发生的,我也怀疑这是否也取决于手机型号和安卓版本