네트워크 및 Gps를 확인하는 첫 번째 활동으로 애플리케이션을 개발 중이며 적어도 네트워크가있는 경우 현재 위치를 얻으려고 시도합니다 (특별한 정확도가 필요하지 않음). WIFI 모드에서는 모든 것이 완벽하게 작동합니다. GPS 모드 (사용 가능한 경우)에서도 모든 것이 완벽합니다. 문제는 모바일 인터넷 (WIFI/GPS 없음)입니다. 이 모드에서 onLocationChanged 메소드는 위치 요청이 시작된 직후에 약간의 좌표를 제공합니다. 정확도는 매우 나쁘다. 문제는 WIFI와 모바일 인터넷의 차이점을 찾을 수 없다는 것입니다.Android : 모바일 인터넷 (NETWORK_PROVIDER)을 사용하여 위치 찾기
용맹 한 코드
private void startLocationListeners(){
try
{
if (isNetworkEnabled)
{
if (isGPSEnabled)
{
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0, locationListener);
Log.d("TAG", "GPS");
}
else{
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0, locationListener);
Log.d("TAG", "Network");
}
}
}
catch (Exception e)
{
Log.e("Error TAG : LocationManager", "problem", e);
}
}
.. 그리고 여기에 onLocationchanged
public void onLocationChanged(Location location) {
stopLocationListeners();
coordinates=String.valueOf(location.getLatitude())+","+String.valueOf(location.getLongitude());
Toast.makeText(context, coordinates, Toast.LENGTH_SHORT).show();
startCamera();
}
};
어떤 제안?
이미 확인했습니다. 같은 문제. 나쁜 모바일 인터넷 리셉션이 문제가 될 수 있습니까? 또한, 나는 위치를 얻을 때, 때로는 onLocationChanged()가 한 번 이상 트리거된다는 것을 logcat에서 알았다. stopLocationListeners() 메서드를 사용하여이를 방지하고 단일 위치를 가져 오지만 작동하지 않습니다. – Vissarionas