1

如果应用程序无法连接到互联网,我希望我的应用程序能够提供我自己的自定义错误消息。我不知道该怎么办,我试着举杯,但没有用。

WebView mWebView;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);


    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.main );


    getWindow().setFeatureInt(  Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); 


    mWebView = (WebView) findViewById( R.id.MyWebview ); 
    mWebView.getSettings().setJavaScriptEnabled(true);   



    mWebView.loadUrl("http://mywebpage.html");

    final Activity MyActivity = this;
    mWebView.setWebChromeClient(new WebChromeClient() {
    public void onProgressChanged(WebView view, int progress)   
    {

        MyActivity.setTitle("Loading...");
        MyActivity.setProgress(progress * 100); 


        if(progress == 100)
            MyActivity.setTitle(R.string.app_name);
      }
    });
4

1 回答 1

1

在调用 Android WebView 之前,您可以检查设备是否已连接到互联网。如果设备已连接或未连接,则以下方法返回:

public boolean isConnected(Activity activity) {
    ConnectivityManager connectivityManager = (ConnectivityManager) activity
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager
            .getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting();
}

最好把它放在一个单独的类中。在启动 Android WebView 之前,您可以调用此方法。如果返回 false,则显示一条消息,要求用户连接到 Internet,否则只需打开链接。

于 2012-10-02T03:31:28.027 回答