最近在写socket编程,6.0版本调试无误,在7.0以上就闪退,问题找到:android7.0之前系统没有对主线程上的一个TCP Socket的写入操作严格检查。Android 7.0修复了这个系统错误。
把发送放到线程中就没事了
new Thread(new Runnable() {
@Override
public void run() {
try {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bw.write("-用户退出-");
bw.newLine();
bw.flush();
}catch (IOException e){
e.printStackTrace();
}
}
}).start();