code: private boolean setMobileNetworkEnabled(ConnectivityManager connectivityManager, boolean enabled) {
          try {
              final Class conmanClass = Class.forName(connectivityManager.getClass().getName());
              final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
              iConnectivityManagerField.setAccessible(true);
              final Object iConnectivityManager = iConnectivityManagerField.get(connectivityManager);
              final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
              final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
              setMobileDataEnabledMethod.setAccessible(true);
              setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
              return true;
          } catch (ClassNotFoundException e) {
          } catch (InvocationTargetException e) {
          } catch (NoSuchMethodException e) {
          } catch (IllegalAccessException e) {
          } catch (NoSuchFieldException e) {
          }
          return false;
      }
docs: http://stackoverflow.com/questions/11555366/enable-disable-data-connection-in-android-programmatically
  Try to enabled/disable mobile network state using reflection.
  Returns true if succeeded
  
  @param enabled