Android Studio模拟器中运行的WebView无法访问互联网,但Chrome可以?

8
我安装了Android Studio 1.0.1,并按照此页面https://developer.chrome.com/multidevice/webview/gettingstarted将网站封装成应用程序。

然而,在模拟器中运行时,我遇到了以下错误:

网页不可用

无法加载https://.....的网页,因为:

net::ERR_NAME_NOT_RESOLVED

但是,当我尝试单击链接时,它在Chrome中正常启动网站。


你尝试在清单文件中加入访问互联网的权限了吗? - kiturk3
请尝试使用 http:// 而不是 https:// - chain
我尝试将 URL 更改为 mWebView.loadUrl("https://www.google.com/");,并且它可以正常工作,没有任何问题。 - ca9163d9
似乎您需要权限才能访问该URL。就将其视为您自己的服务器URL吧。如果这是您定制的网页,请确保该URL是否需要端口号。请粘贴所有错误日志。 - chain
1
但是模拟器中的Chrome可以打开页面,没有任何问题。 - ca9163d9
5个回答

10

这可能听起来很显然,但请确保在模拟器中打开了3G:

enter image description here

为此,请打开蜂窝数据(开关在右侧):

enter image description here

然后注意到3G符号出现在信号强度符号上方:enter image description here

我一直在尝试管理连接状态,偶然发现了这个问题,知道这可能是错误的原因。虽然有点晚了,但希望能对未来的某个人有所帮助。


我简直不敢相信这个问题如此简单,但是@SumNone的解决方案确实为我解决了问题。我在某些网络(如酒店等)上看到了NameResolutionFailure错误。我从未想过将模拟器切换到蜂窝数据模式,而不是仅仅假设WiFi模式可以工作。WiFi模式在大多数情况下似乎都能工作,但在某些环境下则不能。我正在使用Visual Studio Emulator for Android。我通过该模拟器面板上的设置面板启用了蜂窝数据。 - NovaJoe

3
可能有点晚了,但是仍然要确保您包括了以下所有权限。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

1
有时候,你需要连接到VPN提供商来解决net::ERR_NAME_NOT_RESOLVED错误。这与主机计算机的VPN连接无关,如果你在某个模拟器上,你也需要在模拟器的Android上使用VPN。

0

假设您已在manifest.xml中授予了Internet访问权限,但模拟器仍无法访问Internet,则此解决方案适用于我在Windows 7上:

单击“开始”-->“运行”,键入cmd,按确定。将以下内容复制并粘贴到命令提示符中:netsh winsock reset catalog,然后按Enter键。接着将以下内容复制并粘贴:netsh int ip reset reset.log,再次按Enter键。完成后重新启动计算机。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接