I would need to check the wifi is on or off in the phone at the runtime?
if it is not connected, i want to show dialog and goto directly Setting/Wireless Controls to
You can use the WifiManager class to get the state of Wi-Fi.
See this question for opening Wi-Fi settings. And this question for GPS status.
ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//mobile
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
//wifi
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
To check if the device is connected via mobile or wifi you can use this code:
ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//mobile
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
//wifi
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
and then use it like that:
if (mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING) {
//mobile
} else if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) {
//wifi
}
private boolean isNetworkAvailable() {
ConnectivityManager connManager = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connManager.getActiveNetworkInfo();
return activeNetworkInfo.isConnected();
}
public void onClick(DialogInterface dialog, int id) {
// ...
if (isNetworkAvailable()) {
t3.setText("The Internet is available");
} else {
t3.setText("internet is not available");
}
}