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를 사용하면 최고의 공급자를 찾지 않아도됩니다.
삼성 휴대 전화에는 고유 한 문제가 있으며 예상대로 올바르게 Google 포트를 사용하지 않습니다. 불행히도 그들은 우리와 같은 개발자가 버그를 기록 할 수있는 버그 영역을 가지고 있지 않습니다. 그리고 삼성은 HTC와는 달리 자신의 휴대 전화 용 안드로이드를 맞춤 설정하기 때문에 Google에서 삼성의 버그를 기록하게하지 않을 것입니다. – Siddharth
이 실험을 수행하려면 samsung, HTC 이외의 다른 모든 장치에서 코드를 실행하십시오. 그것은 매력처럼 작동합니다. – Siddharth