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 が返された場合は、ユーザーにインターネットへの接続を求めるメッセージを表示します。それ以外の場合は、リンクを開くだけです。

于 2012-10-02T03:31:28.027 に答える