title: Toggle mobile data programmatically on Android 4.4.2
body: <p>I've always used this code to enable mobile data programmatically:</p>
  
  <pre><code>ConnectivityManager conman = (ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
  @SuppressWarnings("rawtypes")
  final Class conmanClass = Class.forName(conman.getClass().getName());
  final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
  iConnectivityManagerField.setAccessible(true);
  final Object iConnectivityManager = iConnectivityManagerField.get(conman);
  @SuppressWarnings("rawtypes")
  final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
  @SuppressWarnings("unchecked")
  final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
  setMobileDataEnabledMethod.setAccessible(true);
  setMobileDataEnabledMethod.invoke(iConnectivityManager, true);
  </code></pre>
  
  <p>This worked well, except now on Android 4.4.2 where I get this exception:</p>
  
  <pre><code>java.lang.NoSuchMethodException: setMobileDataEnabled [boolean]
      at  java.lang.Class.getConstructorOrMethod(Class.java:472)
      at java.lang.Class.getDeclaredMethod(Class.java:640)
      at com.test.auto3gPro.ClasseConnessione.settaConnessione(ClasseConnessione.java:48)
      at com.test.auto3gPro.receiver.ScreenBroadcastReceiver.onReceive(ScreenBroadcastReceiver.java:108)
      at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:768)
      at android.os.Handler.handleCallback(Handler.java:733)
      at android.os.Handler.dispatchMessage(Handler.java:95)
      at android.os.Looper.loop(Looper.java:136)
      at android.app.ActivityThread.main(ActivityThread.java:5081)
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:515)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
      at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>Does anyone know how to fix this?</p>