gps로 받은 위도 경도를 역방향 지오코딩으로 주소로 변환해서 출력하는 쓰레드
private void reverseGeoCoder() {
  
   Geocoder mGeoCoder = new Geocoder(getApplicationContext(), Locale.KOREA);
   try {
    addr = mGeoCoder.getFromLocation( lat, lng, 1 );
    
    if( addr.size() > 0 ) {
     address = addr.get(0);
     
     for( int i = 0; i < address.getMaxAddressLineIndex(); i++ ) {
      
      handler.post( new Runnable() {
       public void run() {
        srcText.setText( address.getCountryName() + address.getPostalCode() );
        srcText.setVisibility( View.VISIBLE );
       }
      });
     }
    }
    
    else {
     handler.post( new Runnable() {
      public void run() {
       srcText.setText( "없음" );
       srcText.setVisibility( View.VISIBLE );
      }
     });
    }

  } catch( Exception e ) {}
  
 }
 
 private Runnable reverseGeoCoderThread = new Runnable() {
  public void run() {
   reverseGeoCoder();
  }
 };

gps수신이 될때마다 값을 받아오는 함수
@Override
 public void onLocationChanged(Location location) {
  if( location != null ) {
   locationManager = null;
   lat = location.getLatitude();
   lng = location.getLongitude();
   
   new Thread( null, reverseGeoCoderThread, "reverseGeoCoderThread" ).start();
  }

  
 }

위에 소스를 보시면 체인지함수에서 gps값이 들어오면 위도 경도를 전역변수로 넘겨주고
쓰레드를 시작해서 쓰레드에서 역방향 지오코딩을 하여 메인쓰레드로 TextView에 setText합니다.

그런데 이렇게 해서 하면 화면에 아무것도 나타나지 않구요.
그래서 쓰레드부분을 그냥 체인지함수에 넣어두면 setText에 그냥 공백이 들어갑니다.

아마도 지오코딩할때 값이 없어서 그렇겠죠..하지만 계속 체인지함수가 동작하기 때문에 화면이 멈춰버리더라구요.
이거 원..폰을 자꾸 집밖에 나가야 테스트를 할 수 있으니 계속 왔다갔다하다가 볼일 다보네요 ㅋㅋㅋ

어떻게 하면 역방향 지오코딩으로 주소를 변환한 후 gps를 멈추게 할 수 있는지 궁금합니다.
도움 좀 주세요..