@TargetApi(23) private void registerNetworkCallbackV23() { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED) .build(); networkCallback = new CapabilityValidatedCallback(); connectivityManager.registerNetworkCallback(request, networkCallback); }
private void checkConnectivity() { final ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); connected = activeNetworkInfo != null && activeNetworkInfo.isConnected(); if (!connected) { loading.setVisibility(View.GONE); if (noConnection == null) { final ViewStub stub = findViewById(R.id.stub_no_connection); noConnection = (ImageView) stub.inflate(); } final AnimatedVectorDrawable avd = (AnimatedVectorDrawable) getDrawable(R.drawable.avd_no_connection); if (noConnection != null && avd != null) { noConnection.setImageDrawable(avd); avd.start(); } connectivityManager.registerNetworkCallback( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).build(), connectivityCallback); monitoringConnectivity = true; } }
private void checkConnectivity(View view) { final ConnectivityManager connectivityManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); connected = activeNetworkInfo != null && activeNetworkInfo.isConnected(); if (!connected && progress != null) {//不判断容易抛出空指针异常 progress.setVisibility(View.INVISIBLE); if (noConnectionText == null) { ViewStub stub_text = (ViewStub) view.findViewById(R.id.stub_no_connection_text); noConnectionText = (TextView) stub_text.inflate(); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { connectivityManager.registerNetworkCallback( new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).build(), connectivityCallback); monitoringConnectivity = true; } } }
request.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { request.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
ConnectivityManager cm = (ConnectivityManager) appContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkRequest.Builder builder = new NetworkRequest.Builder(); NetworkRequest request = builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addTransportType(NetworkCapabilities.TRANSPORT_WIFI) .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
public MmsNetworkManager(Context context, int subId) { mContext = context; mNetworkCallback = null; mNetwork = null; mMmsRequestCount = 0; mConnectivityManager = null; mConnectionPool = null; mMmsHttpClient = null; mSubId = subId; if (!MmsRequest.useWifi(context)) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { mNetworkRequest = new NetworkRequest.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .setNetworkSpecifier(Integer.toString(mSubId)) .build(); } else { mNetworkRequest = new NetworkRequest.Builder() .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR) .addCapability(NetworkCapabilities.NET_CAPABILITY_MMS) .build(); } } else { mNetworkRequest = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); } MmsConfigManager.getInstance().init(context); }
/** * Get the APN name for the active network * * @return The APN name if available, otherwise null */ public String getApnName() { Network network = null; synchronized (this) { if (mNetwork == null) { Log.d(TAG, "MmsNetworkManager: getApnName: network not available"); mNetworkRequest = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); return null; } network = mNetwork; } String apnName = null; final ConnectivityManager connectivityManager = getConnectivityManager(); NetworkInfo mmsNetworkInfo = connectivityManager.getNetworkInfo(network); if (mmsNetworkInfo != null) { apnName = mmsNetworkInfo.getExtraInfo(); } Log.d(TAG, "MmsNetworkManager: getApnName: " + apnName); return apnName; }
private void createChangeConnectivityMonitor() { NetworkRequest networkRequest = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); networkCallback = new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { Log.i(TAG, "On available network"); sync(); } @Override public void onLost(Network network) { Log.i(TAG, "On not available network"); disconnect(); } }; ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { connectivityManager.registerNetworkCallback(networkRequest, networkCallback); } }
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); } } }); } }
/** Only callable on Lollipop and newer releases. */ @SuppressLint("NewApi") public void registerNetworkCallback(NetworkCallback networkCallback) { connectivityManager.registerNetworkCallback( new NetworkRequest.Builder().addCapability(NET_CAPABILITY_INTERNET).build(), networkCallback); }
@Test public void verifyRequestedCapabilitiesFromAndroidM() throws Exception { TestUtils.setInternalState(Build.VERSION.class, "SDK_INT", Build.VERSION_CODES.M); NetworkRequest.Builder builder = mock(NetworkRequest.Builder.class); whenNew(NetworkRequest.Builder.class).withAnyArguments().thenReturn(builder); new NetworkStateHelper(mContext); verify(builder).addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); verify(builder).addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED); } }
@Test public void verifyRequestedCapabilitiesBeforeAndroidM() throws Exception { NetworkRequest.Builder builder = mock(NetworkRequest.Builder.class); whenNew(NetworkRequest.Builder.class).withAnyArguments().thenReturn(builder); new NetworkStateHelper(mContext); verify(builder).addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); verify(builder, never()).addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED); }
private void onNewCardsAvailable(List<Card> cards) { mSwipeRefreshLayout.setRefreshing(false); mAdapter.updateItems(cards); if (!NetUtils.isConnected(this) && !mIsConnectivityChangeReceiverRegistered) { NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetUtils.getInternetCapability()) .build(); connectivityManager.registerNetworkCallback(request, networkCallback); mIsConnectivityChangeReceiverRegistered = true; } }
ConnectivityManager cm; cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkRequest.Builder req = new NetworkRequest.Builder(); req.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); req.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR); cm.requestNetwork(req.build(), new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { //here you can use bindProcessToNetwork } });
/** Only callable on Lollipop and newer releases. */ @SuppressLint("NewApi") public void requestMobileNetwork(NetworkCallback networkCallback) { NetworkRequest.Builder builder = new NetworkRequest.Builder(); builder.addCapability(NET_CAPABILITY_INTERNET).addTransportType(TRANSPORT_CELLULAR); connectivityManager.requestNetwork(builder.build(), networkCallback); }
@Override public Observable<Connectivity> observeNetworkConnectivity(final Context context) { final String service = Context.CONNECTIVITY_SERVICE; final ConnectivityManager manager = (ConnectivityManager) context.getSystemService(service); networkCallback = createNetworkCallback(context); registerIdleReceiver(context); final NetworkRequest request = new NetworkRequest.Builder().addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) .build(); manager.registerNetworkCallback(request, networkCallback); return connectivitySubject.toFlowable(BackpressureStrategy.LATEST).doOnCancel(new Action() { @Override public void run() { tryToUnregisterCallback(manager); tryToUnregisterReceiver(context); } }).startWith(Connectivity.create(context)).distinctUntilChanged().toObservable(); }
@TargetApi(23) private void listenNetworkViaConnectivityManager(final Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) .build(); cm.registerNetworkCallback(request, new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { dispatchNetworkChange(context); } }); }