제가 onResume 에
locationmanager.requestLocationUpdates(provider, 60000, 15, locationListener);
라고 선언해 놨는데 이것을 선언해 놓기만 하면 GPS를 잡은 후에 (리스너 호출) onPause를 실행시키고 다시 onResume을 실행시킵니다. 이것을 무한 반복합니다.
제가 안드로이드폰 4.03버전과 2.2 버전에서 하고 있는데 2.2 버전에서 이러한 현상이 나타납니다. 도대체 왜 이러는지 알수가 없습니다.
해답 아시는분 알려주시면 감사하겠습니다.
*아래는 리스너 입니다.
locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
latitude = location.getLatitude();
longitude = location.getLongitude();
GPSready = true;
}
public void onProviderDisabled(String arg0) {
provider = null;
Toast.makeText(getBaseContext(), "provider disabled " + arg0, Toast.LENGTH_SHORT).show();
}
public void onProviderEnabled(String arg0) {
Toast.makeText(getBaseContext(), "provider enabled " + arg0, Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
}
};
자답입니다.
추측인데 안드로이드 버전 어느 이하에서는 리스너를 불러올때마다 requestLocationUpdates이 실행되는것 같습니다.
onCreate에서 실행 시켜야 되겠습니다.
어느 버전부터 저렇게 되는지 아시는분?