Java 请求路由主机android

Java 请求路由主机android,java,android,networking,Java,Android,Networking,大家好! 我对android的ConnectivityManager类感到非常厌倦。我已经试了5个小时让requestRouteToHost正常工作。我正在模拟器上运行代码,但requestRouteToHost总是失败。我知道我有连接性,因为我调用了getActiveNetworkInfo(),它已连接。我添加了“访问网络”状态并更改了“网络”状态权限,但没有任何效果。任何提示都将不胜感激 编辑-------- 方法InetAddress.isRechable也失败。我使用的是文档中指定的主机

大家好! 我对android的ConnectivityManager类感到非常厌倦。我已经试了5个小时让requestRouteToHost正常工作。我正在模拟器上运行代码,但requestRouteToHost总是失败。我知道我有连接性,因为我调用了getActiveNetworkInfo(),它已连接。我添加了“访问网络”状态并更改了“网络”状态权限,但没有任何效果。任何提示都将不胜感激

编辑-------- 方法InetAddress.isRechable也失败。我使用的是文档中指定的主机名java.sun.com。我认为这是仿真器的问题。
Sam

我建议使用真实主机测试
requestRouteToHost()
。我不仅不相信,
localhost
作为一个名字在Android上必然会被识别,而且它将是设备/模拟器本身,它既不会通过WiFi也不会通过3G发布,因此我预计,
requestRouteToHost()
会失败


无论从何处获取
lookupHost()
,您都可能会遇到问题。例如,我不确定是否支持
localhost

看起来像是没有为WiFi实现requestRouteToHost()。WifiStateTracker私有类没有requestRouteToHost()实现。相反,基类NetworkStateTracker的默认实现总是返回false

您正在进行的requestRouteToHost(lookupHost())组合非常危险

查看您的代码:

conn_man.requestRouteToHost(ConnectivityManager.TYPE_WIFI, lookupHost("localhost")))
在这里,您首先进行了主机查找,然后请求到主机的路由。它只适用于静态地址(如localhost),而不进行真正的查找。如果您需要DNS查找来解析主机地址,它将很容易失败。
通常情况下,requestRouteToHost仅适用于静态地址。

是否有可能安装代码,以便我们找出可能出现的错误。好的,当然。然而,没什么可看的。我的意思是,你想看哪一部分?我不是noob或其他什么,我实际上对android平台很有经验。这简直把我搞糊涂了!conn_man.requestRouteToHost(ConnectivityManager.TYPE_WIFI,lookupHost(“localhost”));我试过一个真正的主人。我试过google.com。什么都不管用。虽然我也读过ICS之前的bug报告。如果你知道什么,请与社区分享?