Выключите мобильные данные программно
Я хочу отключить мобильные данные в моем проекте
boolean DataOnOff(boolean status, Context context){
try {
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 Object iConnectivityManager = iConnectivityManagerField.get(conman);
final Class<?> iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod = iConnectivityManagerClass
.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(iConnectivityManager, status);
return true;
} catch (Exception e) {
Log.e("Mobile Data", "error turning on/off data");
return false;
}
}
И когда вызвать этот метод в onReceive
метод со значением true или false, переданным status
этот метод все еще не работает.