причина, по которой вы столкнулись с ошибкой связи, заключается в том, что если вы посмотрите на содержимое библиотеки stdlib.h, вы обнаружите, что setenv () там не объявляется. На первый взгляд, это стандартный API C, но выглядит так: Windows не соответствует всему стандарту. Или, возможно, вы сможете настроить VS на использование CRT вместо среды выполнения Windows, в этом случае я думаю, что setenv будет идентифицирован.
Webview показывает вам HTML, возвращенный по URL, который был загружен. onReceivedError()
не будет вызвано, если вы получите ответ, содержащий сообщение об ошибке.
Проверьте, что вы получаете в виде HTML с сервера, используя следующий код в onPageFinished()
.
webView.evaluateJavascript(
"(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();",
new ValueCallback<String>() {
@Override
public void onReceiveValue(String html) {
// displays the HTML received after the URL is loaded.
Log.e("#Eval", "Html -> " + html);
}
});
Поскольку вы упомянули, что сообщение не реализовано в вашем приложении, оно должно быть получено со стороны сервера.
Google.com является безопасным доменом. Вы должны использовать https://www.google.com вместо http://www.google.com .
Пожалуйста, используйте этот метод и установите URL вашего сайта: Пример: startWebView (" https://stackoverflow.com ");
private void startWebView(String url) {
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
webview.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setUseWideViewPort(true);
webview.getSettings().setLoadWithOverviewMode(true);
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(getApplicationContext(), "Error:" + description, Toast.LENGTH_SHORT).show();
}
});
webview.loadUrl(url);
}