我想以这种方式到达路由器:
isReachable = InetAddress.getByName("192.168.1.1").isReachable(2000);
但它返回错误。
奇怪的是,当我手动关闭 LTE 数据时,它可以工作。
我发现此代码以编程方式打开/关闭 LTE 数据,但它不适用于 android 6 或 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);
}
你能帮忙找到另一种方法来打开/关闭 android 6 或 7 上的 LTE 数据吗?