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

접근경보 작동에 문제가 있습니다.

0 추천

소스설명 :

"ProximityAlert" 문제입니다, 'GoogleMap' 을 쓰고 있고요,

class "AsyncTask"의 doInBackGround(){ 에서 네트워크 데이터를 가져와 } onPostExcute(){ 안에 }  

mLocMgr.addProximityAlert(tempVO.getLatitude(), tempVO.getLongitude(), (float)sensingRadius100,-1,mPending100);

해주고있고, ( int sensingRadius100 = 100 )

불러온 ArrayList<testVO>를 알람경보와 마커랑 함께 표시하기위해 

@Override

onMapReady(){ 

...

async.execute() ;

해주고 있습니다.

또한, 해제는 onPause(){ 

removePorximityAlert(mPending100); } 로 해주고 있습니다. 

추가로 "LocationListener" 는 

onResume(){ locMgr.requestUpdate(gpsProv,1000, 10, locListener)  } 로 등록하고 

onPause(){ locMgr.removeUpdate(locListener) }로 해제 해주고 있습니다.

 

문제점:

일단 작동이 되다가 안되다가 하는데요, 알림영역 안에 들어가서 어플을 킬때 만 알림이 실행되고,

어플을 킨상태에서 알림영역으로 들어가는 상황에서는 작동이 안됩니다.

자신의 위치마커갱신은 잘 되고, 실제로 발로뛰면서 테스트 해보고 있습니다

GPS상태가 안좋아서 그런걸까요? ProximityAlert등록 위치가 잘못된걸까요??

Acrivity가 실행될때만 작동되는걸 보면 onMapReady()가 실행되는시점에만 작동이 되는걸로 생각되는데요

그렇다고 LocationListener에 등록하기에는 네트워크 데이터를 계속 사용해야서 안될꺼 같고요

조언좀 해주세요

 

추가사항: 

//위치 리스너 함수
    LocationListener mLocListener= new LocationListener() {
        @Override
        public void onLocationChanged(Location location) {
            LatLng position = new LatLng(location.getLatitude(),location.getLongitude());//위치값을 가져온다
            myCarMarker.setPosition(position); //자동차 지금위치를 set
//            m300Range.setCenter(position); //300 반경 표시범위 지금위치로 
            m100Range.setCenter(position);//100 반경 표시범위 지금위치로
            mMap.moveCamera( CameraUpdateFactory.newLatLng(position) ); // 카메라도 지금위치로 move
            Log.i("moveto",location.getLatitude() + " : "+ location.getLongitude());
        }};
android:name (450 포인트) 님이 2017년 6월 13일 질문
android:name님이 2017년 6월 13일 수정

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...