Es ist unklar, wie Navigations/Internet-Verbindung Fehler zu implementieren.Android WebView Navigation Fehlermeldung
Ich habe Code versucht, von hier Android WebView onReceivedError()
aber es funktioniert nicht.
import android.app.Activity;
import android.net.ConnectivityManager;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
private WebView view;
private ImageView splashScreen;
private ImageView logo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
splashScreen = (ImageView) this.findViewById(R.id.spscreen);
logo = (ImageView) this.findViewById(R.id.logo);
String url = "some URL";
view = (WebView)this.findViewById(R.id.webView1);
view.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
// do your stuff here
logo.setVisibility(View.INVISIBLE);
splashScreen.setVisibility(View.INVISIBLE);
view.setVisibility(View.VISIBLE);
}
});
WebSettings s = view.getSettings();
s.setJavaScriptEnabled(true);
s.setCacheMode(WebSettings.LOAD_DEFAULT);
s.setDomStorageEnabled(true);
view.loadUrl(url);
}
}
Ich sehe keine Überschreibung von 'onReceivedError()' in Ihrem Code, beachte auch, dass die Methode in der Antwort oben veraltet war, es gibt einen anderen Geschmack. https://developer.android.com/reference/android/webkit/WebViewClient.html und es gibt 'onReceivedHttpError()' auch, könnte sein, was Sie brauchen – Yazan
@Yazan Würden Sie etwas vorschlagen bitte eine Lösung? –
Ja, ich habe bereits vorgeschlagen, den nicht-entzogenen Geschmack von 'onReceivedError()' zu verwenden, da es aus deinem Code nicht klar ist, ob du ihn benutzt oder den veralteten benutzt hast. es gibt auch eine andere Methode 'onReceivedHttpError()' versuchen, es zu orverride. - Das ist alles, was ich kann helfen mit – Yazan