2013-07-05 3 views
1

나는 위치 기반 애플 리케이션에 종사하고 있습니다.안드로이드 getBestProvider 결코 GPS를 반환하지 않습니다

Samsung Galaxy S4Samsung Tab 7 모두 테스트 중입니다.

getBestProvider()을 호출하면 일반적으로 GPS를 사용 설정하고 네트워크로 연결하면 내 갤럭시 S4에서 GPS를 반환합니다.

그러나 탭에서 응용 프로그램을 실행하려고하면 GPS 공급자가 활성화되었을 때도 getBestProvider()에 의해 반환되지 않았습니다.

S4에는 android 4.2.2이 있고 탭에는 4.1.1이 있는데 문제가 될 수 있습니까?

+0

삼성 휴대 전화에는 고유 한 문제가 있으며 예상대로 올바르게 Google 포트를 사용하지 않습니다. 불행히도 그들은 우리와 같은 개발자가 버그를 기록 할 수있는 버그 영역을 가지고 있지 않습니다. 그리고 삼성은 HTC와는 달리 자신의 휴대 전화 용 안드로이드를 맞춤 설정하기 때문에 Google에서 삼성의 버그를 기록하게하지 않을 것입니다. – Siddharth

+0

이 실험을 수행하려면 samsung, HTC 이외의 다른 모든 장치에서 코드를 실행하십시오. 그것은 매력처럼 작동합니다. – Siddharth

답변

2

GPS, 네트워크 또는 무엇을 사용하는 공급자와 관계없이 모든 장치는 로컬 (장치에있는) 캐시에서 위치를 가져 오는 것과 동일한 원리로 작동합니다.

GPS를 즉시 원하면 시스템을 해킹하여 캐시를 업데이트 한 다음 읽어야합니다. 삼성 휴대 전화에서이 해킹이 필요합니다. HTC 및 다른 모델에서는이 해킹이 필요하지 않습니다. (다행히도) 해킹으로 캐시 업데이트를 실행하는 방법을 찾았습니다.

getLastKnownLocation보다 먼저 다음 코드를 호출하십시오.

<YourActivity>.getLocationManager().requestLocationUpdates(
     LocationManager.NETWORK_PROVIDER, 0, 0, new LocationListener() { 
     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) { 
     } 
     @Override 
     public void onProviderEnabled(String provider) { 
     } 
      @Override 
     public void onProviderDisabled(String provider) { 
     } 
     @Override 
     public void onLocationChanged(final Location location) { 
    } 
}); 

또는

사용 LocationClient. 위치 업데이트를위한 새로운 API가 있습니다. 이러한 API를 사용하면 최고의 공급자를 찾지 않아도됩니다.

+0

감사합니다.하지만 질문이 있습니다. (어리석은 일 이겠지만) 정확히 HomeScreen은 무엇입니까? 또한 requestLocationUpdates를 직접 구현하더라도이 코드를 작성해야합니까? –

+0

이 수정되었습니다. 확인해주십시오. – Siddharth

+0

getLocationManager()가 정의되지 않았다고 말합니다 !! –

1

getBestProvider()가 항상 GPS를 반환하지는 않습니다. GPS가 항상 최고의 공급자는 아니기 때문입니다. 탭이 Wi-Fi에 연결되어 있습니까? Wi-Fi를 통한 위치 정보가 정확하기 때문에 Wi-Fi에 연결되어 있으면 반환 될 수 있습니다.

또한 Google Play 서비스에 속한 새 위치 서비스로 전환해야합니다. 퓨즈 위치 공급자를 사용하면 공급자를 관리하는 데 드는 번거 로움을 줄이고 최상의 결과를 얻을 수 있습니다.

+0

것은, 내가 GPS 공급자를 기반으로 위치를 얻으려면 위치를 강요하더라도, 나는 아무런 신호도 얻지 못한다 !!! 새 위치 서비스가 무엇인지 전혀 모르겠다. 일종의 링크 또는 자습서를 제공해 줄 수 있습니까? thnQ –

+1

@Siddharth 대단히 감사합니다.하지만 삼성 기기를 다운로드 할 때 문제가되지는 않습니다. 내 애플 리케이션. 또한 내 삼성 전자 S4에서 발생하지 않았 음 –

+1

이 질문은 samsung forums에 게시해야합니다. 나는 대답이 없다. – Siddharth