-5

I have 2 activities MainActivity and ErrorActivity.

When the user has no connection, I want to redirect him from MainActivity to ErrorActivity.

This is my MainActivity File:

package com.xcoder.onestep;

public class MainActivity extends AppCompatActivity {


private WebView webView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main);


    webView = findViewById(R.id.webView);

    WebSettings webSettings = webView.getSettings();

    webSettings.setJavaScriptEnabled(true);
    webSettings.setAppCacheEnabled(true);
    webSettings.setAllowContentAccess(true);
    webSettings.setAllowFileAccess(true);



    webView.setWebViewClient(new WebViewClient() {

        public void onRecievedError(WebView view, int errorCode, String   description, String faillingUrl) {


        }

    });



}

}

@Override
public void onBackPressed() {
    if(webView.canGoBack()) {
        webView.goBack();
    } else {
        super.onBackPressed();
    }
}

}

I want to use it without button, when no connection redirect user to the ErrorActivity.class

Abdelrahman Ashref
  • 81
  • 1
  • 1
  • 10
  • Possible duplicate of [How to start new activity on button click](https://stackoverflow.com/questions/4186021/how-to-start-new-activity-on-button-click) – DFJ Dec 15 '18 at 18:27

1 Answers1

0
 public boolean haveNetworkConnection(Context context) {
        boolean haveConnectedWifi = false;
        boolean haveConnectedMobile = false;

        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo[] netInfo = cm.getAllNetworkInfo();
        for (NetworkInfo ni : netInfo) {
            if (ni.getTypeName().equalsIgnoreCase("WIFI"))
                if (ni.isConnected())
                    haveConnectedWifi = true;
            if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
                if (ni.isConnected())
                    haveConnectedMobile = true;
        }
        return haveConnectedWifi || haveConnectedMobile;
    }

Use Above Function and put a check in oncreate

if(!haveNetworkConnection(this)){

 startActivity(new Intent(this,ErrorActivity.Class));
}
Muhammad Haroon
  • 210
  • 2
  • 11