Java 类android.net.NetworkRequest 实例源码

项目:Rx_java2_soussidev    文件:LollipopNetworkObservingStrategy.java   
@Override public Observable<Connectivity> observeNetworkConnectivity(final Context context) {
    final String service = Context.CONNECTIVITY_SERVICE;
    final ConnectivityManager manager = (ConnectivityManager) context.getSystemService(service);

    return Observable.create(new ObservableOnSubscribe<Connectivity>() {
        @Override public void subscribe(ObservableEmitter<Connectivity> subscriber) throws Exception {
            networkCallback = createNetworkCallback(subscriber, context);
            final NetworkRequest networkRequest = new NetworkRequest.Builder().build();
            manager.registerNetworkCallback(networkRequest, networkCallback);
        }
    }).doOnDispose(new Action() {
        @Override public void run() {
            tryToUnregisterCallback(manager);
        }
    }).startWith(Connectivity.create(context)).distinctUntilChanged();
}
项目:Rx_java2_soussidev    文件:MarshmallowNetworkObservingStrategy.java   
@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();
}
项目:chromium-net-for-android    文件:NetworkChangeNotifierTest.java   
@UiThreadTest
@MediumTest
@Feature({"Android-AppBase"})
public void testConnectivityManagerDelegateDoesNotCrash() {
    ConnectivityManagerDelegate delegate =
            new ConnectivityManagerDelegate(getInstrumentation().getTargetContext());
    delegate.getNetworkState();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        // getNetworkState(Network) doesn't crash upon invalid Network argument.
        Network invalidNetwork = netIdToNetwork(NetId.INVALID);
        NetworkState invalidNetworkState = delegate.getNetworkState(invalidNetwork);
        assertFalse(invalidNetworkState.isConnected());
        assertEquals(-1, invalidNetworkState.getNetworkType());
        assertEquals(-1, invalidNetworkState.getNetworkSubType());

        Network[] networks = delegate.getAllNetworksUnfiltered();
        if (networks.length >= 1) {
            delegate.getNetworkState(networks[0]);
        }
        delegate.getDefaultNetId();
        NetworkCallback networkCallback = new NetworkCallback();
        NetworkRequest networkRequest = new NetworkRequest.Builder().build();
        delegate.registerNetworkCallback(networkRequest, networkCallback);
        delegate.unregisterNetworkCallback(networkCallback);
    }
}
项目:Customerly-Android-SDK    文件:IU_NetworkReceiver.java   
public static void registerLollipopNetworkReceiver(Context context) {
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        cm.registerNetworkCallback(
                new NetworkRequest.Builder()
                        .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
                        .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                        .build(),
                new ConnectivityManager.NetworkCallback() {
                    @Override
                    public void onAvailable(Network network) {
                        boolean connected = false;
                        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                            connected = cm.bindProcessToNetwork(network);
                        } else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
                            //noinspection deprecation
                            connected = ConnectivityManager.setProcessDefaultNetwork(network);
                        }
                        if(connected) {
                            Customerly.get().__SOCKET__check();
                        }
                    }
                });
    }
}
项目:Amumu    文件:HomeActivity.java   
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 = (ViewStub) findViewById(R.id.stub_no_connection);
            noConnection = (ImageView) stub.inflate();
        }
        final AnimatedVectorDrawable avd =
                (AnimatedVectorDrawable) getDrawable(R.drawable.avd_no_connection);
        noConnection.setImageDrawable(avd);
        avd.start();

        connectivityManager.registerNetworkCallback(
                new NetworkRequest.Builder()
                .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).build(),
                connectivityCallback);
        monitoringConnectivity = true;
    }
}
项目:android-proguards    文件:HomeActivity.java   
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 = (ViewStub) 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;
    }
}
项目:OldDriver-master    文件:HomeActivity.java   
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 = (ViewStub) findViewById(R.id.stub_no_connection);
            noConnection = (ImageView) stub.inflate();
        }
        final AnimatedVectorDrawable avd =
                (AnimatedVectorDrawable) getDrawable(R.drawable.avd_no_connection);
        noConnection.setImageDrawable(avd);
        avd.start();

        connectivityManager.registerNetworkCallback(
                new NetworkRequest.Builder()
                .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).build(),
                connectivityCallback);
        monitoringConnectivity = true;
    }
}
项目:Customerly-Android-SDK    文件:IU_NetworkReceiver.java   
public static void registerLollipopNetworkReceiver(Context context) {
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        cm.registerNetworkCallback(
                new NetworkRequest.Builder()
                        .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
                        .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                        .build(),
                new ConnectivityManager.NetworkCallback() {
                    @Override
                    public void onAvailable(Network network) {
                        boolean connected = false;
                        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                            connected = cm.bindProcessToNetwork(network);
                        } else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
                            //noinspection deprecation
                            connected = ConnectivityManager.setProcessDefaultNetwork(network);
                        }
                        if(connected) {
                            Customerly.get().__SOCKET__check();
                        }
                    }
                });
    }
}
项目:chromium-net-for-android    文件:NetworkChangeNotifierAutoDetect.java   
/**
 * Constructs a NetworkChangeNotifierAutoDetect. Should only be called on UI thread.
 * @param policy The RegistrationPolicy which determines when this class should watch
 *     for network changes (e.g. see (@link RegistrationPolicyAlwaysRegister} and
 *     {@link RegistrationPolicyApplicationStatus}).
 */
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public NetworkChangeNotifierAutoDetect(
        Observer observer, Context context, RegistrationPolicy policy) {
    // Since BroadcastReceiver is always called back on UI thread, ensure
    // running on UI thread so notification logic can be single-threaded.
    ThreadUtils.assertOnUiThread();
    mObserver = observer;
    mContext = context.getApplicationContext();
    mConnectivityManagerDelegate = new ConnectivityManagerDelegate(context);
    mWifiManagerDelegate = new WifiManagerDelegate(context);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        mNetworkCallback = new MyNetworkCallback();
        mNetworkRequest = new NetworkRequest.Builder()
                                  .addCapability(NET_CAPABILITY_INTERNET)
                                  // Need to hear about VPNs too.
                                  .removeCapability(NET_CAPABILITY_NOT_VPN)
                                  .build();
    } else {
        mNetworkCallback = null;
        mNetworkRequest = null;
    }
    final NetworkState networkState = mConnectivityManagerDelegate.getNetworkState();
    mConnectionType = getCurrentConnectionType(networkState);
    mWifiSSID = getCurrentWifiSSID(networkState);
    mMaxBandwidthMbps = getCurrentMaxBandwidthInMbps(networkState);
    mMaxBandwidthConnectionType = mConnectionType;
    mIntentFilter =
            new NetworkConnectivityIntentFilter(mWifiManagerDelegate.getHasWifiPermission());
    mRegistrationPolicy = policy;
    mRegistrationPolicy.init(this);
}
项目:chromium-net-for-android    文件:NetworkChangeNotifierTest.java   
private static NetworkCapabilities getCapabilities(int transport) {
    // Create a NetworkRequest with corresponding capabilities
    NetworkRequest request = new NetworkRequest.Builder()
                                     .addCapability(NET_CAPABILITY_INTERNET)
                                     .addTransportType(transport)
                                     .build();
    // Extract the NetworkCapabilities from the NetworkRequest.
    try {
        return (NetworkCapabilities) request.getClass()
                .getDeclaredField("networkCapabilities")
                .get(request);
    } catch (NoSuchFieldException | IllegalAccessException e) {
        return null;
    }
}
项目:AppRTC-Android    文件:NetworkMonitorAutoDetect.java   
/** Only callable on Lollipop and newer releases. */
@SuppressLint("NewApi")
public void registerNetworkCallback(NetworkCallback networkCallback) {
  connectivityManager.registerNetworkCallback(
      new NetworkRequest.Builder()
          .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
          .build(),
      networkCallback);
}
项目:AppRTC-Android    文件:NetworkMonitorAutoDetect.java   
/** Only callable on Lollipop and newer releases. */
@SuppressLint("NewApi")
public void requestMobileNetwork(NetworkCallback networkCallback) {
  NetworkRequest.Builder builder = new NetworkRequest.Builder();
  builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
      .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
  connectivityManager.requestNetwork(builder.build(), networkCallback);
}
项目:sample-lowpan    文件:TransmitterActivity.java   
/**
 * Initializes the network.
 */
private void resetNetwork() {
    // Initialize network
    onNoNetwork();
    mConnectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkRequest networkRequest = new NetworkRequest.Builder()
            .addTransportType(NetworkCapabilities.TRANSPORT_LOWPAN)
            .build();
    mBackgroundHandlerThread = new HandlerThread(TAG);
    mBackgroundHandlerThread.start();
    mHandler = new Handler(mBackgroundHandlerThread.getLooper());
    // Make sure that it is connected to a valid network
    mConnectivityManager.registerNetworkCallback(networkRequest,
            mNetworkCallback, mUiThreadHandler);
}
项目:AndroidRTC    文件:NetworkMonitorAutoDetect.java   
/** Only callable on Lollipop and newer releases. */
@SuppressLint("NewApi")
public void registerNetworkCallback(NetworkCallback networkCallback) {
  connectivityManager.registerNetworkCallback(
      new NetworkRequest.Builder()
          .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
          .build(),
      networkCallback);
}
项目:AndroidRTC    文件:NetworkMonitorAutoDetect.java   
/** Only callable on Lollipop and newer releases. */
@SuppressLint("NewApi")
public void requestMobileNetwork(NetworkCallback networkCallback) {
  NetworkRequest.Builder builder = new NetworkRequest.Builder();
  builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
      .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
  connectivityManager.requestNetwork(builder.build(), networkCallback);
}
项目:RxNetwork    文件:MarshmallowNetworkObservingStrategy.java   
private void registerNetworkCallback(ObservableEmitter<RxNetworkInfo> upstream) {
  networkCallback = new StrategyNetworkCallback(upstream);

  NetworkRequest request =
      networkRequest != null ? networkRequest : new NetworkRequest.Builder().build();

  connectivityManager.registerNetworkCallback(request, networkCallback);
}
项目:RxNetwork    文件:ShadowConnectivityManagerWithCallback.java   
@Implementation(minSdk = LOLLIPOP)
@RequiresApi(LOLLIPOP)
public void registerNetworkCallback(NetworkRequest request, NetworkCallback networkCallback) {
  networkCallbacks.add(networkCallback);
  // simulate available connection
  networkCallback.onAvailable(getActiveNetwork());
}
项目:RxNetwork    文件:LollipopNetworkObservingStrategyTest.java   
@Test()
public void shouldRegisterWithDefaultNetworkRequest() {
  NetworkRequest defaultRequest = new NetworkRequest.Builder().build();
  ConnectivityManager manager = setUpManagerWithNetworkRequest(null);

  sut.observe().subscribeWith(testObserver).assertSubscribed();

  verify(manager).registerNetworkCallback(eq(defaultRequest), any(NetworkCallback.class));
}
项目:RxNetwork    文件:LollipopNetworkObservingStrategyTest.java   
@Test()
public void shouldRegisterWithCustomNetworkRequest() {
  NetworkRequest customRequest =
      new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI).build();
  ConnectivityManager manager = setUpManagerWithNetworkRequest(customRequest);

  sut.observe().subscribeWith(testObserver).assertSubscribed();

  verify(manager).registerNetworkCallback(eq(customRequest), any(NetworkCallback.class));
}
项目:RxNetwork    文件:MarshmallowNetworkObservingStrategyTest.java   
@Test()
public void shouldRegisterWithDefaultNetworkRequest() {
  NetworkRequest defaultRequest = new NetworkRequest.Builder().build();
  ConnectivityManager manager = setUpManagerWithNetworkRequest(null);

  sut.observe().subscribeWith(testObserver).assertSubscribed();

  verify(manager).registerNetworkCallback(eq(defaultRequest), any(NetworkCallback.class));
}
项目:RxNetwork    文件:MarshmallowNetworkObservingStrategyTest.java   
@Test()
public void shouldRegisterWithCustomNetworkRequest() {
  NetworkRequest customRequest =
      new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI).build();
  ConnectivityManager manager = setUpManagerWithNetworkRequest(customRequest);

  sut.observe().subscribeWith(testObserver).assertSubscribed();

  verify(manager).registerNetworkCallback(eq(customRequest), any(NetworkCallback.class));
}
项目:RxNetwork    文件:RxNetworkModule.java   
@SuppressLint("NewApi")
public RxNetworkModule(Context context) {

  InternetObservingStrategy customStrategy =
      HttpOkInternetObservingStrategy.builder().endpoint("http://captive.apple.com").delay(1000)
          .interval(5000).build();

  RxNetwork custom = RxNetwork.builder().internetObservingStrategy(customStrategy)
      .defaultNetworkRequest(new NetworkRequest.Builder().build()).init();

  bind(RxNetwork.class).toInstance(RxNetwork.init(context)); // default RxNetwork
  bind(RxNetwork.class).withName("custom").toInstance(custom);
}
项目:samba-documents-provider    文件:SambaProviderApplication.java   
private void registerNetworkCallback(Context context) {
  final ConnectivityManager manager =
      (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);
  manager.registerNetworkCallback(
      new NetworkRequest.Builder()
          .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
          .addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET)
          .build(),
      new NetworkCallback() {
        @Override
        public void onAvailable(Network network) {
          mSambaClient.reset();
        }
      });
}
项目:android-wificonnect    文件:WifiUtil.java   
@TargetApi(LOLLIPOP)
void bindToNetwork(final String networkSSID, final NetworkStateChangeListener listener) {
    if (SDK_INT < LOLLIPOP) {
        logger.i("SDK version is below Lollipop. No need to bind process to network. Skipping...");
        return;
    }
    logger.i("Currently active network is not " + networkSSID + ", would bind the app to use this when available");

    NetworkRequest request = new NetworkRequest.Builder()
            .addTransportType(NetworkCapabilities.TRANSPORT_WIFI).build();
    networkCallback = networkCallback(networkSSID, listener);
    manager.registerNetworkCallback(request, networkCallback);
}
项目:stockhawk    文件:MainActivity.java   
@Override
protected void onResume() {
    super.onResume();
    // Register network callbacks
    ConnectivityManager connectivityManager =
            (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
    networkCallback = new NetworkCallback(this);

    NetworkRequest.Builder networkRequestBuilder = new NetworkRequest.Builder();
    networkRequestBuilder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
    connectivityManager.registerNetworkCallback(
            networkRequestBuilder.build(), networkCallback);

}
项目:unity-ads-android    文件:ConnectivityNetworkCallback.java   
public static void register() {
    if(_impl == null) {
        _impl = new ConnectivityNetworkCallback();

        ConnectivityManager cm = (ConnectivityManager)ClientProperties.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        cm.registerNetworkCallback(new NetworkRequest.Builder().build(), _impl);
    }
}
项目:Tower-develop    文件:AppService.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void bringUpCellularNetwork() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
        return;

    // Wait until the drone is connected.
    if(drone == null || !drone.isConnected())
        return;

    Timber.i("Setting up cellular network request.");
    final ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    final NetworkRequest networkReq = new NetworkRequest.Builder()
            .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
            .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
            .build();

    connMgr.requestNetwork(networkReq, new ConnectivityManager.NetworkCallback() {
        @Override
        public void onAvailable(Network network) {
            Timber.i("Setting up process default network: %s", network);
            boolean wasBound;
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                wasBound = connMgr.bindProcessToNetwork(network);
            } else {
                wasBound = ConnectivityManager.setProcessDefaultNetwork(network);
            }
            DroidPlannerApp.setCellularNetworkAvailability(wasBound);
        }
    });
}
项目:KUAS-Wifi-Auto-Login    文件:Utils.java   
@SuppressWarnings("deprecation")
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static void requestNetwork(Context context) {
    if (!Utils.postVersion(Build.VERSION_CODES.LOLLIPOP)) {
        return;
    }

    setUpConnectivityManager(context);
    NetworkRequest.Builder builder = new NetworkRequest.Builder();
    builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
    builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);

    if (mCallback != null) {
        try {
            mConnectivityManager.unregisterNetworkCallback(mCallback);
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
    }
    mCallback = new ConnectivityManager.NetworkCallback() {

        @Override
        public void onAvailable(Network network) {
            if (mCallback != null) {
                if (Utils.postVersion(Build.VERSION_CODES.M)) {
                    mConnectivityManager.bindProcessToNetwork(network);
                } else {
                    ConnectivityManager.setProcessDefaultNetwork(network);
                }
            }
        }
    };

    mConnectivityManager.requestNetwork(builder.build(), mCallback);
}
项目:FMTech    文件:NetworkChangeNotifierAutoDetect.java   
@SuppressLint({"NewApi"})
public NetworkChangeNotifierAutoDetect(NetworkChangeNotifierAutoDetect.Observer paramObserver, Context paramContext, NetworkChangeNotifierAutoDetect.RegistrationPolicy paramRegistrationPolicy)
{
  ThreadUtils.b();
  this.b = paramObserver;
  this.c = paramContext.getApplicationContext();
  this.e = new rja(paramContext);
  this.i = new rji(paramContext);
  if (Build.VERSION.SDK_INT >= 21) {
    this.f = new rjb(this);
  }
  for (this.g = new NetworkRequest.Builder().addCapability(12).build();; this.g = null)
  {
    rjh localrjh = rja.a(this.e.a.getActiveNetworkInfo());
    this.j = a(localrjh);
    this.k = e(localrjh);
    this.l = b(localrjh);
    this.a = new rjg(this.i.c);
    this.d = paramRegistrationPolicy;
    this.d.a(this);
    return;
    this.f = null;
  }
}
项目:FMTech    文件:NetworkChangeNotifierAutoDetect$RegistrationPolicy.java   
protected final void a()
{
  NetworkChangeNotifierAutoDetect localNetworkChangeNotifierAutoDetect = this.a;
  if (!localNetworkChangeNotifierAutoDetect.h)
  {
    rjh localrjh = rja.a(localNetworkChangeNotifierAutoDetect.e.a.getActiveNetworkInfo());
    localNetworkChangeNotifierAutoDetect.c(localrjh);
    localNetworkChangeNotifierAutoDetect.d(localrjh);
    localNetworkChangeNotifierAutoDetect.c.registerReceiver(localNetworkChangeNotifierAutoDetect, localNetworkChangeNotifierAutoDetect.a);
    localNetworkChangeNotifierAutoDetect.h = true;
    if (localNetworkChangeNotifierAutoDetect.f != null)
    {
      rja localrja = localNetworkChangeNotifierAutoDetect.e;
      NetworkRequest localNetworkRequest = localNetworkChangeNotifierAutoDetect.g;
      ConnectivityManager.NetworkCallback localNetworkCallback = localNetworkChangeNotifierAutoDetect.f;
      localrja.a.registerNetworkCallback(localNetworkRequest, localNetworkCallback);
      Network[] arrayOfNetwork = localNetworkChangeNotifierAutoDetect.e.a.getAllNetworks();
      int[] arrayOfInt = new int[arrayOfNetwork.length];
      for (int i = 0; i < arrayOfNetwork.length; i++) {
        arrayOfInt[i] = Integer.parseInt(arrayOfNetwork[i].toString());
      }
      localNetworkChangeNotifierAutoDetect.b.a(arrayOfInt);
    }
  }
}
项目:365browser    文件:NetworkChangeNotifierAutoDetect.java   
/**
 * Constructs a NetworkChangeNotifierAutoDetect.  Lives on calling thread, receives broadcast
 * notifications on the UI thread and forwards the notifications to be processed on the calling
 * thread.
 * @param policy The RegistrationPolicy which determines when this class should watch
 *     for network changes (e.g. see (@link RegistrationPolicyAlwaysRegister} and
 *     {@link RegistrationPolicyApplicationStatus}).
 */
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public NetworkChangeNotifierAutoDetect(Observer observer, RegistrationPolicy policy) {
    mLooper = Looper.myLooper();
    mHandler = new Handler(mLooper);
    mObserver = observer;
    mConnectivityManagerDelegate =
            new ConnectivityManagerDelegate(ContextUtils.getApplicationContext());
    mWifiManagerDelegate = new WifiManagerDelegate(ContextUtils.getApplicationContext());
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        mNetworkCallback = new MyNetworkCallback();
        mNetworkRequest = new NetworkRequest.Builder()
                                  .addCapability(NET_CAPABILITY_INTERNET)
                                  // Need to hear about VPNs too.
                                  .removeCapability(NET_CAPABILITY_NOT_VPN)
                                  .build();
    } else {
        mNetworkCallback = null;
        mNetworkRequest = null;
    }
    mNetworkState = getCurrentNetworkState();
    mIntentFilter = new NetworkConnectivityIntentFilter();
    mIgnoreNextBroadcast = false;
    mShouldSignalObserver = false;
    mRegistrationPolicy = policy;
    mRegistrationPolicy.init(this);
    mShouldSignalObserver = true;
}
项目:plaid    文件:HomeActivity.java   
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;
    }
}
项目:KUAS-Wifi-Auto-Login    文件:Utils.java   
@SuppressWarnings("deprecation")
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public static void requestNetwork(Context context) {
    if (!Utils.postVersion(Build.VERSION_CODES.LOLLIPOP)) {
        return;
    }

    setUpConnectivityManager(context);
    NetworkRequest.Builder builder = new NetworkRequest.Builder();
    builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
    builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);

    if (mCallback != null) {
        try {
            mConnectivityManager.unregisterNetworkCallback(mCallback);
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
    }
    mCallback = new ConnectivityManager.NetworkCallback() {

        @Override
        public void onAvailable(Network network) {
            if (mCallback != null) {
                if (Utils.postVersion(Build.VERSION_CODES.M)) {
                    mConnectivityManager.bindProcessToNetwork(network);
                } else {
                    ConnectivityManager.setProcessDefaultNetwork(network);
                }
            }
        }
    };

    mConnectivityManager.requestNetwork(builder.build(), mCallback);
}
项目:AndroidTextManager    文件:Network.java   
@TargetApi(21)
private static void request(Context context, final Callback callback) {
    // Request a data connection
    final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    final NetworkRequest networkRequest = new NetworkRequest.Builder()
            .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
            .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
            .build();

    // Use a countdownlatch because this may never return, and we want to mark the MMS
    // as failed in that case.
    final CountDownLatch latch = new CountDownLatch(1);
    boolean success = false;
    ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {
        @Override
        public void onAvailable(android.net.Network network) {
            super.onAvailable(network);
            ConnectivityManager.setProcessDefaultNetwork(network);
            latch.countDown();
        }
    };
    connectivityManager.requestNetwork(networkRequest, networkCallback);
    try {
        success = latch.await(TIMEOUT, TimeUnit.SECONDS);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    if (success) {
        callback.onSuccess();
    } else {
        callback.onFail();
    }
    connectivityManager.unregisterNetworkCallback(networkCallback);
}
项目:QuickLyric    文件:FadeInNetworkImageView.java   
@TargetApi(21)
@Override
public void setImageUrl(String url, ImageLoader imageLoader) {
    mShowLocal = TextUtils.isEmpty(url);
    if (mDiskCache.get(url) == null && !OnlineAccessVerifier.check(getContext())) {
        this.setImageBitmap(null);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            final ConnectivityManager cm = (ConnectivityManager)
                    getContext().getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
            networkCallback = new ConnectivityManager.NetworkCallback() {
                @Override
                public void onAvailable(Network network) {
                    super.onAvailable(network);
                    new CoverArtLoader((MainActivity) FadeInNetworkImageView.this.getActivity()).execute(mLyrics);
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && networkCallback != null)
                        try {
                            cm.unregisterNetworkCallback(networkCallback);
                        } catch (IllegalArgumentException ignored) {
                        }
                }
            };
            NetworkRequest request = new NetworkRequest.Builder()
                    .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).build();
            cm.registerNetworkCallback(request, networkCallback);
        }
        defaultShown = true;
    } else {
        super.setImageUrl(url, imageLoader);
        if (!TextUtils.isEmpty(url))
            defaultShown = false;
    }
}
项目:merlin    文件:ConnectivityChangesRegisterTest.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Test
public void givenRegisteredMerlinNetworkCallbacks_whenBindingForASecondTime_thenOriginalNetworkCallbacksIsRegisteredAgain() {
    ArgumentCaptor<ConnectivityCallbacks> merlinNetworkCallback = givenRegisteredMerlinNetworkCallbacks();

    connectivityChangesRegister.register(connectivityChangesNotifier);

    verify(connectivityManager, times(2)).registerNetworkCallback(refEq((new NetworkRequest.Builder()).build()), eq(merlinNetworkCallback.getValue()));
}
项目:merlin    文件:ConnectivityChangesRegisterTest.java   
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private ArgumentCaptor<ConnectivityCallbacks> givenRegisteredMerlinNetworkCallbacks() {
    given(androidVersion.isLollipopOrHigher()).willReturn(true);
    connectivityChangesRegister.register(connectivityChangesNotifier);
    ArgumentCaptor<ConnectivityCallbacks> argumentCaptor = ArgumentCaptor.forClass(ConnectivityCallbacks.class);
    verify(connectivityManager).registerNetworkCallback(refEq((new NetworkRequest.Builder()).build()), argumentCaptor.capture());
    return argumentCaptor;
}
项目:chromium-net-for-android    文件:NetworkChangeNotifierAutoDetect.java   
/**
 * Registers networkCallback to receive notifications about networks
 * that satisfy networkRequest.
 * Only callable on Lollipop and newer releases.
 */
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
void registerNetworkCallback(
        NetworkRequest networkRequest, NetworkCallback networkCallback) {
    mConnectivityManager.registerNetworkCallback(networkRequest, networkCallback);
}
项目:chromium-net-for-android    文件:NetworkChangeNotifierTest.java   
@Override
public void registerNetworkCallback(
        NetworkRequest networkRequest, NetworkCallback networkCallback) {
    mLastRegisteredNetworkCallback = networkCallback;
}
项目:XinFramework    文件:NetWorkNotify.java   
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public void setNetNotifyForNougat(ConnectivityManager.NetworkCallback callback) {
    ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
    connectivityManager.requestNetwork(new NetworkRequest.Builder().build(), callback);
}