title: Android Check for Wireless connection upon Returning to Activity from Settings
body: <p>My Android application is mainly a Webview (labeles WebViewActivity) that navigates a mobile website. I have a connection detector that opens another activity on every URL load if there is no wireless connection. From this next activity there is a button that opens up the Wireless Settings. Upon pressing the back button I would like for the second activity (labeled MainActivity) to refresh itself and continue back to whichever page my Webview had loaded. What do I need to change in the MainActivity.java to execute that?</p>
  
  <p>My MainActivity:</p>
  
  <pre><code>import android.app.Activity;
  import android.content.Intent;
  import android.os.Bundle;
  import android.view.View;
  
  
      public class MainActivity extends Activity {
  
  // flag for Internet connection status
  Boolean isInternetPresent = false;
  // Connection detector class
  ConnectionDetector cd;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.splash);
  
   }
  
  @Override
  protected void onRestart(){
      if(checkConnection()){
          Intent intent= new Intent(this, WebViewActivity.class);
          startActivity(intent);
      }
  }
  
  @Override
  // Detect when the back button is pressed
  public void onBackPressed() {
  
      super.onBackPressed();
  }
  
  
  
  
  public void openSettings(View view){
      Intent intent= new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
      startActivity(intent);
  }
  
  public boolean checkConnection(){
      // creating connection detector class instance
      cd = new ConnectionDetector(getApplicationContext());       
      //Get Internet Status
      isInternetPresent = cd.isConnectingToInternet();
  
      if(!isInternetPresent)
          return false;
  
      return true;
  }
  
  }
  </code></pre>
  
  <p>My WebviewActivity:</p>
  
  <pre><code>import android.app.Activity;
  import android.app.AlertDialog;
  import android.content.DialogInterface;
  import android.content.Intent;
  import android.content.DialogInterface.OnClickListener;
  import android.net.Uri;
  import android.os.Bundle;
  import android.webkit.WebSettings;
  import android.webkit.WebView;
  import android.webkit.WebViewClient;
  
  public class WebViewActivity extends Activity {
  
      private WebView mWebView;
      // flag for Internet connection status
      Boolean isInternetPresent = false;
      // Connection detector class
      ConnectionDetector cd;
  
  
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          // TODO Auto-generated method stub
  
          if (checkConnection()) {
          mWebView = (WebView) findViewById(R.id.activity_main_webview);
           // Enable Javascript
           WebSettings webSettings = mWebView.getSettings();
           webSettings.setJavaScriptEnabled(true);         
           webSettings.setDomStorageEnabled(true);
           mWebView.loadUrl("http://my.fellowshipnwa.org/?publicapp");
  
          // Force links and redirects to open in the WebView instead of in a browser
           mWebView.setWebViewClient(new myWebClient());
          } else {
              openSplash();
          }
  
      }
  
      @Override
      // Detect when the back button is pressed
      public void onBackPressed() {
          if(mWebView.canGoBack()) {
              mWebView.goBack();
          } else {
              // Let the system handle the back button
              new AlertDialog.Builder(this)
              .setTitle("Exit myFellowship App?")
              .setMessage("Are you sure you want to exit?")
              .setNegativeButton(android.R.string.no, null)
              .setPositiveButton(android.R.string.yes, new OnClickListener() {
  
                  public void onClick(DialogInterface arg0, int arg1) {
                      WebViewActivity.super.onBackPressed();
                  }
              }).create().show();
          }
      }
  
      public class myWebClient extends WebViewClient {
  
          @Override
          public boolean shouldOverrideUrlLoading(WebView view, String url) {
  
              if(!checkConnection()){
                  openSplash();
                  return true;
              }else{
              if( url.startsWith("tel:")){
                  Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url));   
                  startActivity(intent);
                  return true;
              }
              else if( url.startsWith("mailto:")){
                  Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse(url));
                  startActivity(intent);
                  return true;
              }
              }
              return false;
  
              }
  
  
          } 
  
      public void openSplash(){
          Intent intent = new Intent(this, MainActivity.class);
          startActivity(intent);
      }
  
      public boolean checkConnection(){
          // creating connection detector class instance
          cd = new ConnectionDetector(getApplicationContext());       
          //Get Internet Status
          isInternetPresent = cd.isConnectingToInternet();
  
          if(!isInternetPresent)
              return false;
  
          return true;
      }
  
  }
  </code></pre>
  
  <p>Any help is Greatly Appreciated! Even if it means telling me I goofed up on creating this question.</p>
  
  <p>Thank you friends.</p>