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.
Asked
Active
Viewed 2,790 times
1
-
see http://stackoverflow.com/questions/3644144/how-to-disable-mobile-data-on-android – Rich Mar 10 '12 at 20:35
2 Answers
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