@Test @Config(minSdk = LOLLIPOP) public void getAllNetworks_shouldReturnAllNetworks() throws Exception { Network[] networks = connectivityManager.getAllNetworks(); assertThat(networks).asList().hasSize(2); }
@Test @Config(minSdk = LOLLIPOP) public void getNetworkInfo_shouldReturnSomeForAllNetworks() throws Exception { Network[] allNetworks = connectivityManager.getAllNetworks(); for (Network network: allNetworks) { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(network); assertThat(networkInfo).isNotNull(); } }
@Test @Config(minSdk = LOLLIPOP) public void getAllNetworks_shouldReturnNoNetworksWhenCleared() throws Exception { shadowOf(connectivityManager).clearAllNetworks(); Network[] networks = connectivityManager.getAllNetworks(); assertThat(networks).isEmpty(); }
@Test @Config(minSdk = LOLLIPOP) public void getAllNetworks_shouldNotReturnRemovedNetworks() throws Exception { Network wifiNetwork = ShadowNetwork.newInstance(ShadowConnectivityManager.NET_ID_WIFI); shadowOf(connectivityManager).removeNetwork(wifiNetwork); Network[] networks = connectivityManager.getAllNetworks(); assertThat(networks).asList().hasSize(1); Network returnedNetwork = networks[0]; ShadowNetwork shadowReturnedNetwork = shadowOf(returnedNetwork); assertThat(shadowReturnedNetwork.getNetId()).isNotEqualTo(ShadowConnectivityManager.NET_ID_WIFI); }
@Test @Config(minSdk = LOLLIPOP) public void getAllNetworks_shouldReturnAddedNetworks() throws Exception { // Let's start clear. shadowOf(connectivityManager).clearAllNetworks(); // Add a "VPN network". Network vpnNetwork = ShadowNetwork.newInstance(123); NetworkInfo vpnNetworkInfo = ShadowNetworkInfo.newInstance( NetworkInfo.DetailedState.CONNECTED, ConnectivityManager.TYPE_VPN, 0, true, NetworkInfo.State.CONNECTED); shadowOf(connectivityManager).addNetwork(vpnNetwork, vpnNetworkInfo); Network[] networks = connectivityManager.getAllNetworks(); assertThat(networks).asList().hasSize(1); Network returnedNetwork = networks[0]; assertThat(returnedNetwork).isSameAs(vpnNetwork); NetworkInfo returnedNetworkInfo = connectivityManager.getNetworkInfo(returnedNetwork); assertThat(returnedNetworkInfo).isSameAs(vpnNetworkInfo); }
@Test @Config(minSdk = LOLLIPOP) public void getAllNetworkInfo_shouldEqualGetAllNetworks() throws Exception { // Update the active network so that we're no longer in the default state. NetworkInfo networkInfo = ShadowNetworkInfo.newInstance( NetworkInfo.DetailedState.CONNECTED, ConnectivityManager.TYPE_WIFI, 0 /* subType */, true /* isAvailable */, true /* isConnected */); shadowOf(connectivityManager).setActiveNetworkInfo(networkInfo); // Verify that getAllNetworks and getAllNetworkInfo match. Network[] networks = connectivityManager.getAllNetworks(); NetworkInfo[] networkInfos = new NetworkInfo[networks.length]; for (int i = 0; i < networks.length; i++) { networkInfos[i] = connectivityManager.getNetworkInfo(networks[i]); assertThat(connectivityManager.getAllNetworkInfo()).asList().contains(networkInfos[i]); } assertThat(networkInfos).hasLength(connectivityManager.getAllNetworkInfo().length); }
ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Network[] networks = connectivityManager.getAllNetworks(); NetworkInfo networkInfo; for (Network mNetwork : networks) {
@TargetApi(Build.VERSION_CODES.LOLLIPOP) @SuppressWarnings("deprecation") private boolean isConnectedViaWifi_SDK21() { for (Network network : getConnectivityManager().getAllNetworks()) { final NetworkInfo networkInfo = getConnectivityManager().getNetworkInfo(network); if (networkInfo != null && networkInfo.getType() == TYPE_WIFI && networkInfo.isConnectedOrConnecting()) { return true; } } return false; } }
private static Set<InetAddress> getDnsServers(Context context) throws VpnNetworkException { Set<InetAddress> out = new HashSet<>(); ConnectivityManager cm = (ConnectivityManager) context.getSystemService(VpnService.CONNECTIVITY_SERVICE); // Seriously, Android? Seriously? NetworkInfo activeInfo = cm.getActiveNetworkInfo(); if (activeInfo == null) throw new VpnNetworkException("No DNS Server"); for (Network nw : cm.getAllNetworks()) { NetworkInfo ni = cm.getNetworkInfo(nw); if (ni == null || !ni.isConnected() || ni.getType() != activeInfo.getType() || ni.getSubtype() != activeInfo.getSubtype()) continue; for (InetAddress address : cm.getLinkProperties(nw).getDnsServers()) out.add(address); } return out; }
private Network findVpnNetwork() { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); Network[] networks = cm.getAllNetworks(); for (Network network : networks) { LinkProperties linkProperties = cm.getLinkProperties(network); List<LinkAddress> addresses = linkProperties.getLinkAddresses(); for (LinkAddress addr : addresses) { if (addr.getAddress().equals(VPN_ADDRESS)) { return network; } } } return null; }
/** * Returns all connected networks. * Only callable on Lollipop and newer releases. */ @SuppressLint("NewApi") Network[] getAllNetworks() { if (connectivityManager == null) { return new Network[0]; } return connectivityManager.getAllNetworks(); }
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private static boolean isInternetAvailable(ConnectivityManager connectivityManager) { Network[] allNetworks = connectivityManager.getAllNetworks(); if (allNetworks != null) { for (Network network : allNetworks) { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(network); if (networkInfo != null && networkInfo.isConnected()) { if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI || networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) { return true; } } } } return false; }
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); Network[] networks = connectivityManager.getAllNetworks(); NetworkInfo networkInfo; Network network; for (int i = 0; i < networks.length; i++){ network = networks[i]; networkInfo = connectivityManager.getNetworkInfo(network); if ((networkInfo.getType() == ConnectivityManager.TYPE_WIFI) && (networkInfo.getState().equals(NetworkInfo.State.CONNECTED))) { ConnectivityManager.setProcessDefaultNetwork(network); break; } }
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); Network[] networks = connectivityManager.getAllNetworks(); NetworkInfo networkInfo; Network network; for (int i = 0; i < networks.length; i++){ network = networks[i]; networkInfo = connectivityManager.getNetworkInfo(network); if ((networkInfo.getType() == ConnectivityManager.TYPE_WIFI) && (networkInfo.getState().equals(NetworkInfo.State.CONNECTED))) { ConnectivityManager.setProcessDefaultNetwork(network); break; } }
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); for (Network net : connectivityManager.getAllNetworks()) { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(net); if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) { connectivityManager.bindProcessToNetwork(net); break; } } }
final ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); for (Network net : cm.getAllNetworks()) { if (cm.getNetworkInfo(net).getType() == ConnectivityManager.TYPE_WIFI) { Utils.logDebug(TAG, "Seting process network to " + net); /*Since API 23 ConnectivityManager.setProcessDefaultNetwork(net); is deprecated, use: */ cm.bindProcessToNetwork(net); } }
public static boolean isCaptivePortal(Context context, StatusBarNotification sbn) { String tag = sbn.getTag(); if (TextUtils.equals(tag, "CaptivePortal.Notification")) { return true; } if (TextUtils.equals(tag, "Connectivity.Notification") || (!TextUtils.isEmpty(tag) && tag.startsWith("ConnectivityNotification:"))) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService("connectivity"); for (Network network : connectivityManager.getAllNetworks()) { if (connectivityManager.getNetworkInfo(network).isConnected() && connectivityManager.getNetworkCapabilities(network).hasCapability(17)) { return true; } } } return false; }
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { ConnectivityManager connectivityManager = (ConnectivityManager) mCtx.getSystemService(Context.CONNECTIVITY_SERVICE); Network activeNetwork = connectivityManager.getActiveNetwork(); if (WifiConnectionManager.getInstance(mCtx).isConnectedToALocalWifi()) { for (Network net : connectivityManager.getAllNetworks()) { if (!net.equals(activeNetwork)) { connectivityManager.bindProcessToNetwork(net); try { net.openConnection(new URL(mCtx.getString(R.string.wifi_cam_url))); } catch (IOException e) { e.printStackTrace(); } } } }
ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE); Network[] activeNetworks=connectivityManager.getAllNetworks(); for(Network network:activeNetworks){ if(connectivityManager.getNetworkInfo(network).isConnected()){ NetworkCapabilities networkCapabilities=connectivityManager.getNetworkCapabilities(network); if(networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL)){ //DO SOMETHING } break; } }
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); for (Network network : connectivityManager.getAllNetworks()) { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(network); if (networkInfo.isConnected()) { LinkProperties linkProperties = connectivityManager.getLinkProperties(network); Log.d("DnsInfo", "iface = " + linkProperties.getInterfaceName()); Log.d("DnsInfo", "dns = " + linkProperties.getDnsServers()); return linkProperties.getDnsServers(); } }