2016-06-13 2 views
1

"지오 펜스 생성 및 모니터링"에 간단한 코드를 사용했는데 모든 것이 잘 작동하지만 장치가 GPS 신호를 잃었을 때 트리거 이벤트가 종료로 계산됩니다 , 그리고 다시 신호를 입력 할 때안드로이드 - GPS를 잃어 버렸을 때 지오 펜스 트리거

심지어 Geofence 안에있어, 나는이 상황을 피할 수 없다고 생각한다. 그래서이 행동이 억제 될 수 있다면 알 수 있겠는가? 또한

추가 질문에, 나는 그것을 필요가 변경이 된 브로드 캐스트하는인가, 지금 내가받을 서비스를 사용하고 잘 작동의 전이 를받을 서비스보다 더 나은 브로드 캐스트 리시버를 사용하는 것이 유래 지오 펜스의 문제를 많이 읽어?

답변

0

이것은 때때로 Google 지오 펜스가 잘못된 네트워크 위치 지점에 의존하여 발생하는 문제입니다. 이 here에 대한 잠재적 인 해결책이 있습니다. 100 %가 아니지만 지오 펜스 점프를 억제하는 데 도움이됩니다.

질문의 두 번째 부분에 대해서는 IntentService 또는 서비스를 의미하는지 여부는 알 수 없습니다. 서비스 인 경우 IntentService 또는 BroadcastReceiver를 사용하는 것이 좋습니다. IntentServices는 백그라운드 스레드에서 작업을 수행하는 데 주로 사용됩니다. BroadcastReceivers는 프로세스를 다시 시작하고 (사용자가 강제 종료 한 경우가 아니라면) 의도를 처리하는 빠른 작업을 수행합니다. 둘 다 자체 포함되어 있으며 작업이 끝난 직후 스스로 파괴됩니다. 그러나 귀하의 질문에 대답하기 위해 No, 당신은 에 BroadcastReceiver를 사용하는을 가지고 있지 않지만 그렇게하는 것이 더 좋습니다.

+0

당신의 답장을위한 thx는 정말로 도움이되었습니다. 그렇습니다. IntentServices 하지만 대답이 잘 안 들었습니다. "전환 이벤트에서 gps 호출을 만드는 것입니다."라고 gps 호출의 의미는 무엇입니까? – hasd11

+0

잘못된 종료가 발생하면 LocationManager를 사용하여 GPS 지점을 호출하십시오. 지오 펜스 외부에 점이 있으면 이탈 코드 블록을 수행하십시오. 포인트가 아직 지오 펜스에있는 경우 지오 펜스를 동일한 중심점으로 재설정하고 지오 펜스를 25m 크게 만듭니다. 지오 펜스의 최대 크기를 확인하십시오. 실제로 원하는 것보다 더 큰 것을 원하지 않기 때문입니다. –

+0

감사합니다. 가 실제로 필요한 더 큰 지오 펜스입니까? 사촌 내 지오 펜스는 이제 반경이 200이고 더 커지려는 것이 아닙니다. – hasd11