繁体   English   中英

Android:UnknownHostException

[英]Android: UnknownHostException

我正在使用Android SDK 2.2,并在模拟器上测试我的应用程序。 我想发送一个HTTP Post。 当我得到一个UnknownHostException。 我已放置所需的权限
<uses-permission android:name="android.permission.INTERNET" / >
在manifest.xml中。 另外,我可以在模拟器上打开浏览器,然后毫无问题地导航到URL。

这是我的代码:

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost( uri );
HttpResponse response = null;
try
{
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
2 );
nameValuePairs.add( new BasicNameValuePair( "id", "edit-name" ) );
nameValuePairs
.add( new BasicNameValuePair( "stringdata", userName ) );
httppost.setEntity( new UrlEncodedFormEntity( nameValuePairs ) );

// Execute HTTP Post Request
response = httpclient.execute( httppost );
// Log.i( "HttpManager:", "======> response: "
// + response.getEntity().getContent() );

}
catch (ClientProtocolException e)
{
Log.e( "HttpManager", "ClientProtocolException thrown" + e );
}
catch (IOException e)
{
Log.e( "HttpManager", "IOException thrown" + e );
}

好的,我感觉很la脚... INTERNET权限标签是清单标签的子级,而不是应用程序标签。 嘘!

为了其他人的考虑,我遇到了这个问题,谷歌让我着陆。 正如anisbet所提到的,我仔细检查了我的许可标签,它位于正确的位置。

最终,我启动了内置浏览器的android系统,并从我的网络服务器和Google.com上获得了相同的响应(尽管计算机本身还不错)。 我终止了android模拟器并重新启动; 进行了第一次尝试。

查看完代码后,值得重新启动模拟器。 公平地说,在执行此操作后不久,一堆程序崩溃了,所以我的计算机上可能正在发生其他事情。 尽管如此,这仍然浪费了我很多时间,所以也许这会让我免于头痛。

祝你好运!

确保您已连接互联网。 这就是我忘记使用没有互联网连接的手机进行测试时发生的事情。

您知道为我解决了什么是将权限放在结束清单标记之前,如下所示:

<uses-permission android:name="android.permission.INTERNET" />
</manifest>

当您在模拟器中运行应用程序时,有时会发生这种情况。 只需重启模拟器即可解决问题。 它为我工作!

如果以上方法均无效,请尝试退后一步,并通过打开浏览器来确保设备或仿真器可以真正访问互联网。

最终检查将是您的域名是有效域名。 域中的下划线无效,并且会引发未知的主机异常。

在测试将minSdkVersion设置为4的应用程序时,我遇到了类似的问题,而我试图在G1上运行它。 将其更改为3可以解决我的问题。

我遇到了同样的问题。 我的Android清单文件中具有正确的权限,并且网址也正确。 我正在Web浏览器中得到响应。 我重新启动了IDE模拟器,但没有解决问题。 因此,我使用AVD管理器删除了AVD,然后启动了模拟器,它开始工作。

另一件事:事实证明,互联网本身对我不起作用。 使用以下开关emulator -avd your_avd_name -dns-server 8.8.8.8启动仿真器为我修复了它: emulator -avd your_avd_name -dns-server 8.8.8.8

连接到WiFi时,我已经看到此错误。 一旦我关闭WiFi,它就会起作用。 由于以下Android错误,很可能引发UnknownHostException

http://code.google.com/p/android/issues/detail?id=67324

如果您不使用模拟器,也请检查此

我今天遇到了同样的问题,我没有使用仿真器,而是在移动设备中启用了USB调试以进行测试。

我没有打开手机中的数据,所以打开了UnknownHostException ,一旦解决了它。

如果打开VPN,可能会导致“未知主机异常”

使用模拟器时,我遇到了同样的问题,因为我在笔记本电脑上更改了wifi,因此重新启动模拟器的wifi解决了我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM