Skip to content

Instantly share code, notes, and snippets.

@AhnMo
Last active March 20, 2020 10:37
Show Gist options
  • Save AhnMo/257e64e9413e0c54ae23b4def387cc65 to your computer and use it in GitHub Desktop.
Save AhnMo/257e64e9413e0c54ae23b4def387cc65 to your computer and use it in GitHub Desktop.
Android Network State Check, `android.permission.ACCESS_NETWORK_STATE` permission required.
// This method was deprecated in API level 28
// https://developer.android.com/reference/android/net/NetworkInfo
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
final ConnectivityManager connMgr = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifi.isConnectedOrConnecting()) {
output.setText("Network Type: WIFI");
} else if (mobile.isConnectedOrConnecting()) {
output.setText("Network Type: Data");
} else {
output.setText("Network Type: Unknown");
}
// This method was deprecated in API level 28.
// https://developer.android.com/reference/android/net/NetworkInfo
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
final ConnectivityManager connMgr = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo activeNetwork = connMgr.getActiveNetworkInfo();
if (activeNetwork == null) {
output.setText("Network Type: Unknown");
return;
}
int networkType = activeNetwork.getType();
switch (networkType) {
case ConnectivityManager.TYPE_WIFI:
output.setText("Network Type: WIFI");
break;
case ConnectivityManager.TYPE_MOBILE:
output.setText("Network Type: Data");
break;
default:
output.setText("Network Type: Other");
break;
}
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
final ConnectivityManager connMgr = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
final Network n = connMgr.getActiveNetwork();
final NetworkCapabilities nc = connMgr.getNetworkCapabilities(n);
if (nc.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) {
output.setText("Network Type: Data");
} else if (nc.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
output.setText("Network Type: WIFI");
} else {
// while VPN connected, the result is here
output.setText("Network Type: Unknown");
}
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
final ConnectivityManager connMgr = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
final Network n = connMgr.getActiveNetwork();
final NetworkCapabilities nc = connMgr.getNetworkCapabilities(n);
if (nc.hasTransport(NetworkCapabilities.TRANSPORT_VPN)) {
output.setText("VPN Connected: True");
} else {
output.setText("VPN Connected: False");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment