Meine Android Studio App muss eine Offline-Site zeigen, wenn keine Internetverbindung besteht. Und zeigen Sie eine Online-Website, wenn die Internetverbindung aktiv ist.Prüfen, ob die Website erreichbar ist
Jetzt suche ich nach der Funktion, wenn eine Internetverbindung aktiv ist, wird die Online-Site jetzt angezeigt. Wenn ich jetzt die Internetverbindung deaktiviere muss sie die Offline Seite wieder anzeigen und nicht die Standard "Fehler Seite ist nicht verfügbar" - Fehlerseite. Wie behebt man das?
WebView wb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wb = (WebView) findViewById(R.id.mywb);
wb.setWebViewClient(new MyBrowser());
if (!isNetworkAvailable()) { // loading offline
wb.loadUrl("file:///android_asset/index.html");
}else { // loading online
wb.loadUrl("http://www.google.com");
}
}
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
Leider funktioniert das nicht, wenn ich auf eine Submit-Schaltfläche im WebView klicke. Es zeigt die Standard-Fehlerseite –
Sieht so aus, als hätte die App einige Probleme mit
hast du Javascript aktiviert? Wenn das Formular eine andere Website öffnet, wird es durch den Webview-Client geleitet. – Robert