下面的代码不起作用:
URL url = new URL( xmlPath );
InputSource input = new InputSource( url.openStream() );
在任何时候,即使在主机存在的情况下,如果从不同的开发主机(机器)和浏览器使用相同的代码,都会成功命中UnknownHostException。
我可能再次问了这个问题,重复了Android java.net.UnknownHostException: Host is unresolved (strategy question)的话。论坛软件不允许我对这个问题的不令人满意的答案发表评论(为了引起人们对我最终找到的解决方案的更多关注)。也许我还不够受欢迎,还不能被给予这种特权。同时,我本质上是在重新发布这个问题和一个不同的答案。
基本上,我承认在某些情况下,Android设备可能很难使用DNS,但我已经尝试过,例如,如何使用SAX解析器的anddev.org示例,它在我有的一台机器上工作,而在另一台机器上不起作用。
编辑:如上所述,我知道一个有效的答案,并将其张贴。
我是a)问一个问题(这个问题已经被问过,但没有得到成功)和b)为了那些我的答案对他们有用的人的利益而回答它。
发布于 2010-08-19 00:38:35
答案非常简单:在Eclipse中删除,然后重新创建AVD (虚拟设备/仿真器)。这对我来说很有效--第一次。
发布于 2012-07-08 11:33:19
在我的例子中,我从手机上的URL下载了一个XML文件,但在这个帖子中描述了这个问题。
为了修复它,我不仅需要有正常的互联网许可
<uses-permission android:name="android.permission.INTERNET" />
但我也需要
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
作为一个建议,看看你的设备是否需要同样的东西,尝试导航到手机浏览器中的URL,看看是否提示需要SD卡或其他东西。
希望这能帮助到其他人。
发布于 2011-02-14 00:22:18
我也在手机上看到过(在做USB调试的时候)。解决方案是禁用WiFi,然后重新启用它。
https://stackoverflow.com/questions/3514398
复制相似问题