我在我的WebView中获取了google.com,但我没有得到我的localhost。 有人能帮助我吗?
答案 0 :(得分:28)
请改用10.0.2.2。这是一个特殊的IP地址,仿真器会在您的开发机器上路由到本地主机。假设模拟器和Web服务器在同一台机器上运行。
答案 1 :(得分:8)
确保使用完整的Urls加载WebView。
http://www.google.com
http://10.0.2.2/
而不是:
www.google.com
google.com
所有这些都可以在使用浏览器时工作,但您必须为WebView提供完整的有效URL。把头撞到键盘上一小时搞清楚了。
如果您在模拟器中遇到连接问题,请尝试在构建路径中覆盖dns。
Window > Preferences > Android > Launch
Default emulator options: -dns-server 8.8.8.8
答案 2 :(得分:2)
只需键入localhost名称和端口,如下所示:http://127.0.0.1:80
答案 3 :(得分:1)
尝试使用实际的IP [如果需要,使用端口号]而不是localhost。
答案 4 :(得分:1)
我创建了一个网站,并使用IIS在我的本地计算机上发布,我尝试使用WebView在Android模拟器中访问此网站:
与OP的结果相同。
我改为:
并且工作了。
答案 5 :(得分:0)
如果您使用物理设备运行,那么,
确保您的网站在 192.168.x.xxx:port 上运行
在您的活动中设置完整网址,例如,
mwebView.loadUrl("http://192.168.1.107:8000/");
添加
android:usesCleartextTraffic="true"
在 AndroidManifest.xml 中修复因不使用 https 导致的“不允许明文”错误
如果在模拟器中,那么,
在本地主机 (127.0.0.1:port) 中托管网站
用于网址
mwebView.loadUrl("http://127.0.0.1:3000");
上一步
(请确保在发布前删除清单权限。否则会导致您的应用存在安全问题。)