/**
     * Gets the state of GPS location.
     *
     * @param context
     * @return true if enabled.
     */
    private static boolean getGpsState(Context context) {
        ContentResolver resolver = context.getContentResolver();
        return Settings.Secure.isLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER);
    }


   /**
     * Toggles the state of GPS.
     *
     * @param context
     */
    private void toggleGps(Context context) {
        ContentResolver resolver = context.getContentResolver();
        boolean enabled = getGpsState(context);
        Settings.Secure.setLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER,
                !enabled);
    }

안드로이드 1.6에서 위의 처럼 GPS ON, OFF 어플에서 설정 할 수 있었는데

안드로이드 2.1 부터는 안되는 거 같습니다.

안드로이드 2.1 에서 

Settings.Secure.putString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, LocationManager.GPS_PROVIDER);
 

이렇게 사용하면 될거 같았는데 접근 권한이 없다고 하네요.

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
 <uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"></uses-permission>
 <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
 <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"></uses-permission>
 <uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>

제가 위의 권한들을 설정했는데 안됩니다. 혹시 안드로이드 2.1 에서 GPS ON, OFF 해보신 분 계신가요?

고수님들 부탁드립니다.

참고로 갤럭시 a 에서 T Map 네비게이션 어플은 GPS ON 을 시킵니다. 하지만 디자이어에서 T Map 네비게이션 어플은 GPS ON 을 시키지 못합니다. 같은 어플인데 반응이 다릅니다. 추측으로는 갤럭시 a에 SKAF 가 설치가 되어 있기때문에 가능하다는 느낌이 듭니다.