2013-05-27 1 views
21

새로운 Google Play 지오 펜싱 서비스 API를 테스트했습니다.Android Geofencing API는 어떻게 사용합니까?

Android developers site에서 샘플 코드를 다운로드했습니다. 다음으로 Android 기기 (Galaxy Note 2)에서 예제 코드를 실행했습니다. 나는 지리적 위치와 반경을 10m로 설정했지만 사무실로 걸어 갔을 때 아무 일도 일어나지 않았습니다.

예제 코드를 실행하는 동안 내가 이미 지오 펜스 범위 안에있을 때 지오 펜스를 LocationClient에 추가하면 아무 것도 발생하지 않는다는 것을 눈치 챘을 것입니다.

는 이미 LocationClient class documentation을 읽고, 다음 단락 발견했다 : 네트워크 위치 제공자는 사용자가 비활성화되어

경우

는, 지오 펜스 서비스는 업데이트를 중지, 등록 된 모든 지오 펜스가 제거됩니다과 의도이다 제공된 보류 의도에 의해 생성됩니다. 이 경우, 사실 hasError(Intent) 반품 및 getErrorCode(Intent) 반환 GEOFENCE_NOT_AVAILABLE. "

그래서 나는 와이파이 켜져, 그리고 (지오 펜스 내부에) 내 사무실에 걸어 한 후, 나는 통지가있어"지오 펜스는 "입력.

나는 다음과 같은 질문이 있습니다

  1. 은 지오 펜싱은 WiFi를 사용할 수 있습니까

    활성화를 locati을하지 않는 이유는

  2. ? 3G 네트워크 작업에서 제공됩니까?

  3. 이것은 샘플 코드의 버그입니까?

  4. 아니면 내 실수입니까?

+0

, 내 장치는 와이파이 연결이 때 지오 펜스 나는 단지 그것을 버그가 있다면, 그건 ... 작동 선언한다 것을 보았다 꽤 혼란 내가 지오 펜싱가 트리거 가질 수 있어요 하나 – dleal

+0

3g/4g/wifi이지만 3g/4g에서 지오 펜스 반경을 훨씬 크게 설정해야합니다. 밀로스가 제시 한대로 말이 맞습니다. 나는 이것을 설정하는 데 지체 시간을 눈치 챘을지 궁금해했다. 당신이 지오 펜스에 들어갈 때가 지체입니다. – reidisaki

+0

나는이 샘플 프로젝트 비트가 혼란 스러울 때가 찾아왔다. 지오 울타리 1 및 지오 울타리 2는 무엇입니까? 왜 2 번에 위도, 경도 및 반경을 입력해야합니까? – TharakaNirmana

답변

1

와이파 이는 위치 추적을 돕는 데 사용됩니다. Wi-Fi 신호와 셀 신호를 사용하여 위치를 삼각 측량하는 것은 GPS를 지속적으로 실행하는 것보다 전력 효율적인 솔루션입니다. 또한 GPS가 무거운 다중 경로 영역 및 실내와 같은 상황에서는 작동하지 않습니다.

5

휴대 전화 네트워크 만 사용하는 경우 Wi-Fi 또는 GPS의 정확도보다 위치 정확도가 낮습니다 (Google지도를 열면 파란색 원이 현재 위치를 추정 한 것입니다. 3GP 만 사용하는 경우 원은 수백 미터의 반경을 가질 수 있습니다).

마지막으로 나는 지오 펜스를 사용하는 앱을 개발 중이고 다음과 같은 사항을 알아 냈습니다.이 "위치 추정 원"이 모두 지오 펜스 반경 내에있는 경우에만 지오 펜스 입력이 트리거됩니다. 즉, 100 % 확률 너는 지오 펜스에 들어갔다. 그래서 당신이 설정 한 큰 반지름에 달려 있습니다. 10 미터 만 설정하면 GPS와 함께 작동하며 3GP에서는 작동하지 않습니다. 3GP의 경우 1000 미터와 같은 반경을 설정해야합니다.

+6

실제로 테스트 한 결과 지오 펜스 트리거 정확도에 전혀 신경 쓰지 않고 유감스럽게도 원하는 경우 설정할 방법이없는 것처럼 보입니다. 내 경우에는 800-1500m 정확도의 셀 ID 위치로 지오 펜스 입력 및 종료 이벤트를 트리거 할 수 있습니다. 200m 지오 펜스 ..아마 짐작할 수 있듯이, 2 분마다 이동/이동하지 않고 이벤트를 입력/이탈하는 중입니다. 지금 당장은 유용하지 않은 것으로 보아이 API에서 기대할 수있는 것을 더 잘 제어하고 문서화했으면합니다. – Rick

1

경우 네트워크 조건에서 네트워크 공급자가 현재 위치를 검색하는 데 사용하므로 네트워크 타워 근처에서 위치를 가져 오므로 최소 1000M의 반경을 늘려야합니다. 그러나 GPS 및 Wi-Fi 상태 인 경우 더 많이 작동합니다 정확한 (1 M도).

+1

나는 개발자 측에서 제공 한 지오 펜스 용 데모 앱을 테스트합니다. Wi-Fi를 사용하고 반지름을 1000M으로 설정 한 경우에만 알림을 보냅니다. 네트워크, GPS 및 반경 1,10,100MI와 같은 다른 경우에는 알림을 전송하지 않는지 테스트했습니다. 그것에 관해 어떤 생각이 있니? –

+1

나는 네트워크의 경우에 U 최소 반지름 1000 M을 주어야한다고 생각한다. wifi의 경우 나를 위해 그 일을한다. 1, 10, 100과 같은 반지름을 줄 수있다. – RAHULRSANNIDHI

+0

예 .. 할 수 있습니다.하지만 GPS/2G/3G가 켜져있을 때 알림을 받고 싶다면 어떻게해야합니까? .. 2G/3G의 경우에는 데모를 공유하십시오. –

0

필자는 샘플 지오 펜스 애플리케이션을 테스트했으며 WiFi가 꺼져 있으면 Android 4.3 미만의 버전에서 지오 펜스 이벤트를 감지하지 못했습니다.

Android 4.3 이상은 WiFi가 꺼져 있어도 작동합니다.

1

여기에서 결과를 공유 할 것이라고 생각했습니다. 나도 Google Play 서비스 위치 API 및 Geofence API를 구현하는 실험실 앱을 개발했습니다. 나의 결과는 위치 결정 코드가 일종의 병적 인 실수를 인정할 능력이 없다는 것을 보여준다. :)

버튼을 누르면 내 앱에서 반경 30m의 위치 API에서 반환 한 현재 위치 (curLoc)에 지오 펜스를 만듭니다. 화면에서 curLoc.distanceTo (fenceLoc)를 호출하고 대략 매 초마다 업데이트하여 지오 펜스 센터 ("distToCenter")까지의 거리를 표시합니다.

나는 앱을 시작하고 정확도가 안정 될 때까지 (일반적으로 10.0m) 기다린 다음 버튼을 눌러 펜스를 만듭니다. 나는 "enter"이벤트를 즉시받습니다. 나는 사건을 해결하고 산책하러 나간다. 그리고 시공간 기상 현상을 분명히 입력한다. 나는 구석을 돌며 모퉁이를 돌며 distToCenter 값은 약 4 미터 증가했습니다. 나는 집에서 약 300 미터가 될 때까지 더 나아가 dstToCenter가 서서히 증가한다. 지오 펜스 탈출 이벤트는 dstToCenter가 30 미터를 초과 한 후 약 20 초 후에 마침내 발생합니다.

거리가 안정되고 150 미터 정도의 거리를 기다리는 것을 기다립니다. 나는 돌아 서서 집으로 돌아가고 똑같은 극단적 인 위치 지연이 발생한다. 나는 내 책상에 앉아 있는데 내 웜홀 자체는 약 90 미터 떨어져있다. 약 40 초 후에 나의 doppleganger가 펜스 안에 들어가고 약 20 초 후에 나는 enter 이벤트를 얻습니다.

이 시점에서 나는 정면 보도 (7.4 미터 거리)의 어딘가에있어 현관 앞쪽으로가는 길에 자리 잡고 있습니다.

참고 : GPS 상태 표시 줄 아이콘이 켜지고 Wi-Fi에 대한 연결이 끊긴 후 몇 초 동안 깜박 거려도 소스가 "융합"되었습니다. 또한 정확도는 10.0 미터에서 결코 흔들리지 않았습니다.

LIARS!

: 여기에 같은

관련 문제