![](/img/trans.png)
[英]How to create a webview on Android with required internet Connection message
[英]Android WebView and internet connection/Wifi error message
希望有人能在這里為我提供幫助,因為我真的很困。 我有一些使用WebView的Android應用程序的代碼。 我正在嘗試找出如何添加一些代碼來檢查是否有互聯網或wifi的連接。 現在,我已經搜索了溢出並嘗試了許多不同的代碼,但沒有任何工作對我有用。 我不是Android開發人員,只是想為自己和家人做點事情。 我想在應用程序中顯示一個html頁面(error.html),當沒有連接時將顯示我的自定義錯誤消息。
任何幫助都會很棒。
package com.lotto.lra;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class LottoResultsActivity extends Activity {
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("www.mydomain.com")) {
// This is my web site, so do not override; let my WebView load the page
return false;
}
// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private WebView mWebView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.mydomain.com/LRA/");
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
}
}
檢查互聯網連接使用此方法作為
public boolean isConnectingToInternet(Context mContext) {
ConnectivityManager connectivity = (ConnectivityManager)mContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
並在您的網絡視圖中調用此方法為
if(isConnectingToInternet(LottoResultsActivity.this)){
mWebView.loadUrl("http://www.mydomain.com/LRA/");
}else{
Toast.makeText(getApplicationContext(), "No Internet Connection",
Toast.LENGTH_LONG).show();
}
並且不要忘記在清單文件中添加以下權限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.