/**
* 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 가 설치가 되어 있기때문에 가능하다는 느낌이 듭니다.