마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[안드로이드] GPS LBS에서 requestLocationUpdates 질문입니다.

0 추천
 
requestLocationUpdates(프로바이더, 시간, 거리, 리스너)
 
여기서 시간을 3000으로 지정했다가 이것을 바꿀 수 있나요?
 
예를 들어 처음엔 3초, 그다음엔 4초, 그다음엔 5초, 그다엠엔 6초,, 7초 이런식으로요..
 
------------------
 
public int timeCycle = 3000;
 
public boolean process(final Context context) {
 
locationProvider = LocationManager.GPS_PROVIDER; // GPS 사용
locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
 
if(locationManager.isProviderEnabled(locationProvider) == true) { // GPS가 On 이라면
locationListener = new LocationListener() {
 
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
 
}
 
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
if(location != null) {
longitude = (int)(location.getLongitude() * 1000000);
latitude = (int)(location.getLatitude() * 1000000);
Log.d("MIZNO", "[Process.java] GPS LBS : " + longitude + " / "+ latitude);
Log.d("MIZNO", "[Process.java] timeCycle : " + timeCycle);
Toast.makeText(context, "GPS LBS : " + longitude + " / "+ latitude, Toast.LENGTH_SHORT).show();
timeCycle = timeCycle + 1000;
}
}
};
locationManager.requestLocationUpdates(locationProvider, timeCycle, 0, locationListener);
// locationManager.requestSingleUpdate(locationProvider, locationListener, null);
}
return true;
}
 
 
--------------------------
 
이런식으로 구현해봤는데. 로그에 찍히는건 3000, 4000, 5000 이렇게 늘어나지만
실제로 받아오는건 초기 값인 3초마다 받아오네요..ㅠ

 

익명사용자 님이 2013년 12월 23일 질문

1개의 답변

0 추천

timeCycle = timeCycle + 1000;

이구문 뒤에 

locationManager.requestLocationUpdates(locationProvider, timeCycle, 0, locationListener);

이거를 다시 호출해줘야 바뀌지 않을까요

소스보니까 한번만 호출되는거 같은데...

낭만진이 (200 포인트) 님이 2013년 12월 23일 답변
...