@Test @Config(minSdk = M) public void bindProcessToNetwork_shouldGetBoundNetworkForProcess() { Network network = ShadowNetwork.newInstance(789); connectivityManager.bindProcessToNetwork(network); assertThat(connectivityManager.getBoundNetworkForProcess()).isSameAs(network); }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { ConnectivityManager manager = (ConnectivityManager) InovePlugApplication.getContext() .getSystemService(Context.CONNECTIVITY_SERVICE); manager.bindProcessToNetwork(null); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { ConnectivityManager.setProcessDefaultNetwork(null); }
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); } }
@TargetApi(Build.VERSION_CODES.M) private static <T> T ensureRouteToMmsNetworkMarshmallow(Context context, Task<T> task) throws IOException { final MmsNetworkManager networkManager = new MmsNetworkManager(context.getApplicationContext(), Utils.getDefaultSubscriptionId()); final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); Network network = null; try { network = networkManager.acquireNetwork(); connectivityManager.bindProcessToNetwork(network); return task.run(); } catch (MmsNetworkException e) { throw new IOException(e); } finally { if (network != null) { connectivityManager.bindProcessToNetwork(null); } networkManager.releaseNetwork(); } }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); Network current_network = null; for (Network n : cm.getAllNetworks()) { if (cm.getNetworkInfo(n).getTypeName().equals("WIFI")) { current_network = n; break; } } if (current_network != null) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) cm.bindProcessToNetwork(current_network); else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { ConnectivityManager.setProcessDefaultNetwork(current_network); } } }
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) getSystemService(CONNECTIVITY_SERVICE); Network etherNetwork = null; for (Network network : connectivityManager.getAllNetworks()) { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(network); if (networkInfo.getType() == ConnectivityManager.TYPE_ETHERNET) { etherNetwork = network; } } Network boundNetwork = connectivityManager.getBoundNetworkForProcess(); if (boundNetwork != null) { NetworkInfo boundNetworkInfo = connectivityManager.getNetworkInfo(boundNetwork); if (boundNetworkInfo.getType() != ConnectivityManager.TYPE_ETHERNET) { if (etherNetwork != null) { connectivityManager.bindProcessToNetwork(etherNetwork); } } }
public static void forceConnectionToMobile2(Context context) { final ConnectivityManager connection_manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { NetworkRequest.Builder request = new NetworkRequest.Builder(); Log.d(TAG,"request TRANSPORT_CELLULAR"); request.addCapability(NetworkCapabilities.TRANSPORT_CELLULAR); connection_manager.requestNetwork(request.build(), new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { Log.d(TAG,"binding app to cellular network"); connection_manager.bindProcessToNetwork(network); } } }); } }
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { final ConnectivityManager manager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkRequest.Builder builder; builder = new NetworkRequest.Builder(); //set the transport type do WIFI builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI); manager.requestNetwork(builder.build(), new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { manager.bindProcessToNetwork(network); } else { //This method was deprecated in API level 23 ConnectivityManager.setProcessDefaultNetwork(network); } try { //do a callback or something else to alert your code that it's ok to send the message through socket now } catch (Exception e) { e.printStackTrace(); } manager.unregisterNetworkCallback(this); } }); }