Как в webview-приложении отобразить свою страницу, когда нет подключения к интернету?

У меня есть очень простое WebView приложение, которое открывает только одну страницу, но когда нет интернета, то приложение показывает вот это. А мне надо, чтобы показывалась моя оффлайн страница.

Main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <WebView 
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="none" />

</LinearLayout>

ActivityMain.java

package com.mycompany.myapp

import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebSettings;
import android.annotation.SuppressLint;
import android.webkit.WebViewClient;
import android.webkit.DownloadListener;
import android.app.*;
import android.content.pm.*;
import android.annotation.*;
import android.webkit.*;
import android.os.*;
import android.content.*;
import android.net.*;
import java.net.*;
import android.Manifest;
import android.app.DownloadManager;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.URLUtil;
import android.widget.*;

public class MainActivity extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

        WebView webView = findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("http://google.com");

        WebViewClient webViewClient = new WebViewClient() {
            @SuppressWarnings("deprecation") @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url)
            {
                view.loadUrl(url);
                return true;
            }

            @TargetApi(Build.VERSION_CODES.N) @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request)
            {
                view.loadUrl(request.getUrl().toString());
                return true;
            }
        };
        webView.setWebViewClient(webViewClient);
    }
}

Помогите написать код, чтобы при входе в приложение проверялось подключение к интернету: если его нет, то будет выводиться html-страница из assets, а если есть, то показ webview.


Ответы (0 шт):