socket = new Socket("192.168.1.100", 9999);
用上面代码在android程序里面创建连接socket时,程序奔溃或返回null错误。
在oncreate前面增加以下代码可以解决:
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites().detectNetwork()
.penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath()
.build());
产生此问题的原因可能是API在新的版本中不能在主线程建立socket,需要在异步任务或者线程中。