在浏览器中访问本地服务器,但在Android中不通过webview URL访问
访问本地apache服务器上托管的网页时出现问题。其显示“网页不可用”。但当我尝试使用emulator浏览器时,它工作正常在浏览器中访问本地服务器,但在Android中不通过webview URL访问,android,mobile,android-webview,Android,Mobile,Android Webview,访问本地apache服务器上托管的网页时出现问题。其显示“网页不可用”。但当我尝试使用emulator浏览器时,它工作正常 setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.getSetting
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginState(PluginState.ON);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowContentAccess(true);
webView.getSettings().setAllowFileAccessFromFileURLs(true);
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
webView.loadUrl("http://10.0.2.2:8181/www/index.html");
在服务器上,放置
http://localhost:8181/www/index.html浏览器中的
应该可以工作
您还可以使用实际的主机名或主机IP地址
10.0.2.2仅对模拟器有效。仿真器设置自己的网络接口,10.0.2.2是仿真器主机的地址
在设备上,您必须使用服务器的主机名或网络IP地址。我将测试代码放入我的应用程序中,检查它是否在emulator和设备上运行,并相应地更改IP地址。在服务器上,放入
http://localhost:8181/www/index.html浏览器中的
应该可以工作
您还可以使用实际的主机名或主机IP地址
10.0.2.2仅对模拟器有效。仿真器设置自己的网络接口,10.0.2.2是仿真器主机的地址
在设备上,您必须使用服务器的主机名或网络IP地址。我将测试代码放在我的应用程序中,检查它是否在emulator vs.device上运行,并相应地更改IP地址。如果您在实际设备上进行尝试,那么它将无法工作,因为您的本地服务器不向世界开放。您可以使用类似ngrok的工具,使其可以在您的机器外部访问。@michaelcarrano。。我正在使用Emulator,但它不工作。。在手机浏览器中,它使用10.0.2.2工作,但当我使用webview加载它时,它没有加载..你能发布webview错误消息的屏幕截图吗?如果WebView中有任何有趣的错误消息,也可以使用logcat。如果您正在实际设备上进行尝试,那么它将无法工作,因为您的本地服务器不向世界开放。您可以使用类似ngrok的工具,使其可以在您的机器外部访问。@michaelcarrano。。我正在使用Emulator,但它不工作。。在手机浏览器中,它使用10.0.2.2工作,但当我使用webview加载它时,它没有加载..你能发布webview错误消息的屏幕截图吗?如果WebView中有任何有趣的错误消息,也可以使用logcat。我正在使用Emulator,但它不工作。。在手机浏览器中,它使用10.0.2.2工作,但当我使用webview加载它时,它没有加载..当您尝试通过http协议连接时,需要在AndroidManifest.xml的下面添加一行内容,我希望它能解决您的问题:android:usesCleartextTraffic=“true”我使用的是Emulator,它不工作。。在手机浏览器中,它使用10.0.2.2工作,但当我使用webview加载它时,它没有加载..当您试图通过http协议连接时,需要在AndroidManifest.xml的下面添加一行内容,我希望它能解决您的问题:android:usesCleartextTraffic=“true”