gpt4 book ai didi

android - 如何将 Toast say "no internet connection "添加到 webview?

转载 作者:行者123 更新时间:2023-11-30 00:34:02 31 4
gpt4 key购买 nike

我想将 Toast say "no internet connection"添加到此 webview 代码,我尝试了不止一次但失败了,我通过 MainActivity 中的按钮打开此 webview,我希望编写一个干净完整的 webview 代码但我有在 android plez 帮助中的一些经验,代码

public class ShowWeb extends AppCompatActivity {

ProgressDialog progressDialog;
WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_web);

String Url = getIntent().getStringExtra("url");

WebView web = (WebView)findViewById(R.id.webview);
web.loadUrl(Url);


//Get webview
WebView webView = (WebView) findViewById(R.id.webview);
//startWebView("http://50.73.3.244/Mobile/");

// Javascript inabled on webview
webView.getSettings().setJavaScriptEnabled(true);

// Other webview options التكبير والتصغير
webView.getSettings().setLoadWithOverviewMode(true);

//webView.getSettings().setUseWideViewPort(true);

//Other webview settings
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setSupportZoom(true);
}

//Show loader on url load
public void onLoadResource (WebView view, String url) {

// if url contains string androidexample
// Then show progress Dialog
if (progressDialog == null && url.contains("lol")
) {

// in standard case YourActivity.this
progressDialog = new ProgressDialog(ShowWeb.this);
progressDialog.setMessage("Loading...");
progressDialog.show();
}
}

最佳答案

我看到有两种方法可以解决这个问题。

方式一:

首先检查互联网连接。如果可用,则加载 url,否则显示带有消息“无互联网可用”的 Toast。

WebView web = (WebView)findViewById(R.id.webview);
if(isNetworkStatusAvialable (getApplicationContext())) {
web.loadUrl(Url);
} else {
Toast.makeText(this, "No Internet Connection", Toast.LENGTH_SHORT).show();
}

...

public static boolean isNetworkStatusAvialable (Context context) {
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
return activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();

}

方式二:使用 WebViewClient 的 onReceivedError 回调从 Assets 加载默认页面。

mWebView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
mWebView.loadUrl("file:///android_asset/myerrorpage.html");

}
});

关于android - 如何将 Toast say "no internet connection "添加到 webview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43718985/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com