I want to reach a router this way:
isReachable = InetAddress.getByName("192.168.1.1").isReachable(2000);
But it returns false.
Curiously when I turn off LTE data manually it works.
I found this code to turn on/off LTE data programmatically but it does not work on android 6 or 7.
private void setMobileDataEnabled(Context context, boolean enabled)
{
final ConnectivityManager conman = (ConnectivityManager)
final ConnectivityManager conman = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
final Class conmanClass = Class.forName(conman.getClass().getName());
final Field iConnectivityManagerField =
conmanClass.getDeclaredField("mService");
iConnectivityManagerField.setAccessible(true);
final Class iConnectivityManagerClass =
Class.forName(iConnectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod =
iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled",
Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
}
Could you help to find an other way to turn on/off LTE data on android 6 or 7?
I found how to resolve my problem. i fail to turn off cellular data programmatically, but if found a way to force my app to use only wifi connection . this is the code: