...

반응형
public class tap3 extends Activity
{

TextView gpsStatus;
TextView gpsValue;
LocationManager LocMan;
String provider;
int count;

Location location1;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.tap3);



LocMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
gpsStatus = (TextView) findViewById(R.id.txv_gps_status);
gpsValue = (TextView) findViewById(R.id.txv_gps);
provider = LocMan.getBestProvider(new Criteria(), true); // 최고의 GPS 찾기
Log.i("sinwho",provider );

}

public void onResume() // 프로그램 시작시
{
super.onResume();
count = 0;
LocMan.requestLocationUpdates(provider, 1000, 0, gpsListener); // 리스너 등록(위치 업데이트마다 gpsListener 호출), 매개변수 : GPS또는 네트워크, 업데이트 주기, 업데이트 거리, 리스너


gpsStatus.setText("현재 상태 : 서비스 시작");

Log.i("sinwho", "onResume");

//String temp = String.format("수신회수:%d\n위도:%f\n경도:%f\n고도:%f", count,location1.getLatitude(), location1.getLongitude(),location1.getAltitude());
//gpsValue.setText(temp);
}

public void onPause()
{
super.onPause();
LocMan.removeUpdates(gpsListener); // 끝낼때 리스너 제거
gpsStatus.setText("현재 상태 : 서비스 정지");
}


LocationListener gpsListener = new LocationListener() // GPS가 정보가 변경 될때 호출 되는 리스너
{
@Override
public void onLocationChanged(Location location) // 위에서 설정한 위치 변경시 호출
{
count++;
String temp = String.format("수신회수:%d\n위도:%f\n경도:%f\n고도:%f", count,location.getLatitude(), location.getLongitude(),location.getAltitude());
gpsValue.setText(temp);
Log.i("sinwho","onLocationChanged");

}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) // 상태 변경시 호출
{
String tempStatus = "";
switch(status)
{
case LocationProvider.OUT_OF_SERVICE:
tempStatus = "범위 벗어남";
break;
case LocationProvider.TEMPORARILY_UNAVAILABLE:
tempStatus = "일시적 불능";
break;
case LocationProvider.AVAILABLE:
tempStatus = "사용 가능";
break;
}
gpsStatus.setText(provider + "상태 변경 : " + tempStatus);
Log.i("sinwho", "onStatusChanged");


}

@Override
public void onProviderEnabled(String provider) {
Log.i("sinwho", "onProviderEnabled");
}

@Override
public void onProviderDisabled(String provider)
{
gpsStatus.setText("현재 상태 : 서비스 사용 불가");
Log.i("sinwho", "onProviderDisabled");

}
};

}


반응형