2012-02-09 3 views
2

Android 4.0에서 프로그래밍 방식으로 위치 서비스를 사용 또는 사용 중지 할 수 있는지 알고 싶습니다.ICS에서 위치 서비스를 프로그래밍 방식으로 사용 및 사용 중지 (사용 및 사용 중지)하는 방법은 무엇입니까?

이전 Android 버전 (예 : this이 가장 인기있는 링크)에서이를 수행하는 방법을 여러 가지 발견했습니다. 그러나 이러한 접근 방식은 Android ICS에서는 작동하지 않습니다.

또한 애플리케이션이이를 수행해서는 안되지만, 예를 들어 기본 위젯이이를 수행한다는 것을 알고 있습니다.

가능하면 누구나 명확히 할 수 있습니까?

답변

2

내가 개발 한 작은 앱에서 MyLocationOverlay의 위치를 ​​사용 중지하여 GPS를 사용 중지합니다. 물론이 방법은 Google API에서 제공하는 클래스이므로 Google에서지도를 사용하는 경우에만 작동합니다.

myLocationOverlay.disableMyLocation(); 

현재 사용 가능한 경우에만 onStop() 메서드에 선을 배치합니다. 그리고 앱이 배경으로 갈 때마다 GPS는 자동으로 꺼집니다.

는 도움이되기를 바랍니다.

+0

아니요, 하나의 방법으로 GPS를 사용 설정하고 하나는 사용하지 않도록 설정하겠습니다. 내 응용 프로그램은 추가 오버레이없이 작동해야합니다. 응용 프로그램의 아이디어는 다음과 같습니다. 응용 프로그램을 시작하는 동안 GPS가 활성화되어 있는지 (GPS 공급자가 필요한지) 확인하고 사용하지 않으려는 경우 확인하고 싶습니다. 마지막으로 GPS를 사용하지 않도록 설정하려고합니다 (응용 프로그램을 시작하기 전에 사용 중지 된 경우). 그러나 당신의 대답에 감사드립니다! – Yury

2

gps 기기를 사용 또는 사용 중지 할 수 있지만 사용자는 위젯 설정에서 확인해야합니다. 해결책은 this의 해결책입니다.

+0

더 자세히 질문을 읽어보십시오. 사용자를 페이지로 리디렉션하면 수동으로 비활성화 할 수 있습니다. – Yury

+0

감사합니다! 조사를 해봤지만 정상적인 권한으로 프로그래밍 할 수 없습니다. 제 영어 실력이 좋지 않아서 매우 유감입니다! –

1
LocationManager L = (LocationManager) getSystemService(LOCATION_SERVICE); 

if (!L.isProviderEnabled(LocationManager.GPS_PROVIDER)) { 
    Intent I = new Intent( 
       android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
     startActivity(I); 
} 
관련 문제