안녕하세요.
	위,경도를 실행시 최초 1회만 뽑는데 깜박깜박 거리는 아이콘이 사라지지 않아서 질문드립니다..
	//gps 위치관리
	String loc_context = Context.LOCATION_SERVICE; //
	locManager = (LocationManager) getSystemService(loc_context);
	locationProviders();
	 
	/* GPS 추출 함수 */
	    public void locationProviders() {
	    //TextView tv = (TextView)findViewById(R.id.TextView01);
	
	    /*
	    1. String 객체는 불변이기 때문에 변하지 않는 문자열은 String을 사용한다.
	2. StringBuilder는 비동기방식이기 때문에 Single Thread 환경하에서, 변화되는 문자열의 사용한다.
	3. StringBuffer 동기방식으로 저장되기 때문에 멀티쓰레드로 접근하거나 문자열이 변경될 경우에 사용한다.
	    */
	   
	    List<String> pvdGroup = locManager.getProviders(true); // 현재 사용할수 있는 공급자를 리스트로 불러들인다.
	    System.out.println("---------gps1---------");
	    /*
	    public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)
	    provider: 사용할 프로바이더의 이름
	    minTime: 몇 밀리초 간격으로 통지할것인지 정의
	    minDistance 최소 간격, 단위는 미터
	    listener 어떤 리스너가 통지되었는지 기술
	    */
	    StringBuilder str = new StringBuilder("");
	    System.out.println("---------gps2---------");
	    System.out.println(pvdGroup);
	    for(String pvder : pvdGroup) { // 가져온 리스트의 크기만큼 반복
	    System.out.println("---------gps3---------");
	        str.append("위치 공급자 ");
	    locManager.requestLocationUpdates
	          (pvder, 2000, 0, new LocationListener() {// 현재 사용할수있는 프로바이더를 가지고 오고, 1초 간격으로 업데이트
	          public void onLocationChanged(Location location) {} // 위치 변화감지
	          public void onProviderDisabled(String provider) {} // 프로바이더 꺼짐 감지
	          public void onProviderEnabled(String provider) {} // 프로바이더 활성 감지
	          public void onStatusChanged // 상태변화 감지
	                (String provider, int status, Bundle extras) {}
	          });
	    str.append(":").append(pvder).append("\n"); // 여기서 활성화된 위치 공급자의 이름을 하나 찍어줌. 예제에서는 GPS가 나올것임
	   
	    //Location loc = locManager.getLastKnownLocation(pvder); // 위치메니저로부터 마지막에 알려진 위치를 좌표에 넣는다.
	    Location loc = locManager.getLastKnownLocation( LocationManager.NETWORK_PROVIDER );
	    System.out.println("---------gps4---------");
	    System.out.println(loc);
	    if(loc != null) { // 전에 지정된 위치가 있었다면
	    double lat = loc.getLatitude();      // 위도: 가로 // 그 위치를 받아올 것이고,
	    double lng = loc.getLongitude();    // 경도: 세로
	                //str.append("위도:").append(lat).append(", 경도:").append(lng+"\n"); // 표시해줄 것이다.
	    str.append("&lat=").append(lat).append("&lng=").append(lng+"\n"); // 표시해줄 것이다.
	    UtilNavi_loc  = String.valueOf(lat);
	    Log.d("UtilNavi_loc----->",UtilNavi_loc);
	    UtilNavi_loc  = "&lat="+UtilNavi_loc+"&lng="+String.valueOf(lng);
	    Log.d("UtilNavi_loc----->",UtilNavi_loc);
	    } else {
	    str.append("위치를 찾을 수 없음"); // 만약에 위치를 못찾았다면, 위치를 찾을 수 없다고 표시될것이다.
	    }
	   
	    }
	    getBaseContext();
	    //Toast.makeText(getBaseContext(),str, Toast.LENGTH_SHORT).show();
	    Log.d("위치=====>>>>", "str==== : " + str );
	    Log.d("위치=====>>>>", "str==== : " + UtilNavi_loc );
	    } 
	 
	 
	이렇게 하고있습니다.
	로그들을 봐도 딱 한번만 실행됩니다.. 아이콘을 끄는 방법이 따로 있는건지.. 궁굼합니다..
	읽어주셔서 감사합니다.