Don't do this. :)
Check the code for GPS TOGGLER
GPS toggle widget for Android rooted devices. It wrks well even for those ROMs and kernels, other software failed.
With your code, just checking:
Hope you declared the following permissions in your manifest:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
I had used this on rooted LG Optimus, android 4.0/4.1. Reportedly this may no longer work but i am not sure about it for all devices and o.s.:
Switch it ON/OFF with a flag check and this code:
try {
Settings.Secure.putString (context.getContentResolver(),
Settings.Secure.LOCATION_PROVIDERS_ALLOWED, String.format ("%s,%s",
Settings.Secure.getString (context.getContentResolver(),
Settings.Secure.LOCATION_PROVIDERS_ALLOWED), LocationManager.GPS_PROVIDER));
} catch(Exception e) {}