1

I am developing a software for android which I want to turn on user's internet connection automatically. Like these internet on/off widgets does.

Cœur
  • 37,241
  • 25
  • 195
  • 267
Karri Rasinmäki
  • 1,019
  • 10
  • 19
  • see http://stackoverflow.com/questions/3644144/how-to-disable-mobile-data-on-android – Rich Mar 10 '12 at 20:35

2 Answers2

3
private void setMobileDataEnabled(Context context, boolean enabled) throws Exception{
    final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    Class conmanClass = null;
    try {
        conmanClass = Class.forName(conman.getClass().getName());
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    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, enabled);
}

this is for 3g activation similar goes for wifi

Aashish Bhatnagar
  • 2,595
  • 2
  • 22
  • 37
0

You can use the WifiManager to call setWifiEnabled

More detail here :

http://developer.android.com/reference/android/net/wifi/WifiManager.html

Pascal Piché
  • 600
  • 2
  • 13