我开发了一款应用程序,该应用程序在带有Android OS 4.1.2的Acer Tab上运行良好,内核为3.4.0,三星Tab为4.1.2和3.0.31。该应用程序打开一个带有目标地址和端口的TCP套接字。
相同的应用程序不能在具有相同操作系统和内核版本的较新Acer选项卡(相同型号)上运行,也不能在具有相同操作系统和内核版本的新联想选项卡上运行。它在使用dest addr和dest端口创建Socket时报告以下错误: libcore.io.ErrnoException:isConnected failed:EHOSTUNREACH(无主机路由)
我将应用程序从目标SDK 15更新为16但同样的问题仍然存在 - 同一个应用程序继续在两个旧设备上正常运行,但在两个新设备上没有运行。
在创建Socket之前,如果我检查通过ConnectivityManager访问的NetworkInfo对象上的isConnected(),则返回true。
非常感谢我接下来要探索的内容。