privatevoiddoTest(){display("Requesting CELLULAR network connectivity...");
ConnectivityManager connectivityManager =(ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);
NetworkRequest request =newNetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR).addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET).build();
connectivityManager.requestNetwork(request,newConnectivityManager.NetworkCallback(){/**
* Called when the framework connects and has declared a new network ready for use.
* This callback may be called more than once if the {@link Network} that is
* satisfying the request changes.
*
* This method will be called on non-UI thread, so beware not to use any UI updates directly.
*
* @param network The {@link Network} of the satisfying network.
*/@OverridepublicvoidonAvailable(final Network network){display("Got available network: "+ network.toString());try{final InetAddress address = network.getByName("navalclash.com");display("Resolved host2ip: "+ address.getHostName()+" -> "+ address.getHostAddress());}catch(UnknownHostException e){
e.printStackTrace();}display("Do request test page from remote http server...");if(okHttpClient == null){
okHttpClient =newOkHttpClient.Builder().socketFactory(network.getSocketFactory()).build();}
Request request =newRequest.Builder().url("http://navalclash.com").build();try(Response response = okHttpClient.newCall(request).execute()){display("RESULT:\n"+ response.body().string());}catch(Exception ex){
ex.printStackTrace();}}});}