При наличии подключения к Интернету WebView открывает URL-адрес. Но если нет, он открывает HTML-файл. И Xamarin Forms
Все, что вам нужно сделать, это поменять тип WebViewSource
, который вы используете, и назначить ему соответствующие свойства, независимо от того, подключены вы или нет.
Так что для WebView Forms, если вы подключены к «Интернету», создайте UrlWebViewSource
и присвойте свойство Url, но если нет, то создайте HtmlWebViewSource
и присвойте BaseUrl
либо NSBundle.MainBundle.BundlePath
, либо file:///android_asset/
для статических ресурсов приложений, или пользовательский каталог кэша .
Примерно так:
WebViewSource webViewSource;
if (InternetConnected)
{
webViewSource = new UrlWebViewSource { Url = "https://stackoverflow.com" };
}
else
{
string baseUrl = cacheDir;
webViewSource = new HtmlWebViewSource { BaseUrl = baseUrl, Html = cachedHtml };
}
webView.Source = webViewSource;