mobile menu

The Arrow Newsletter

mobile menu

안드로이드 지오펜스 예제

이러한 메서드를 구현하는 예제는 다음 코드 조각에 나와 있습니다. 또한 addGeofences()를 사용하여 요청에 지오펜스를 추가합니다. 이 API는 Google의 위치 API의 일부입니다. 지오펜스, 지오펜싱요청, 지오펜스Api, 지오펜싱이벤트, 지오펜스상태코드가 포함됩니다. 이 자습서에서는 이러한 클래스를 사용하여 지오펜스를 만들고 작업합니다. 이제 mGeofencingClient.addGeofences() 및 두 개의 각 청취자를 호출할 수 있습니다.이 중 하나는 성공용이고 하나는 실패(지오펜스 추가)입니다. 개별 지오펜스 또는 지오펜스 세트를 제거하는 절차는 모든 지오펜스를 제거하는 절차와 유사합니다. 제거할 지리 울타리를 지정하려면 해당 지리울타리 ID 값을 문자열 목록 개체에 추가합니다. remove의 다른 정의에이 목록을 전달적절한 서명지오펜스. 그런 다음 이 메서드는 제거 프로세스를 시작합니다. 모니터링하려는 Geofence 개체 목록 외에도 지오펜스 전환을 감지할 때 앱에 전송하는 의도로 위치 서비스를 제공해야 합니다. 보류 중인 Intent 개체를 사용하여 GeofenceEvent를 처리하는 IntentService를 호출합니다. 나중에 지오펜스트래시온Service.class를 만듭니다.

위치 근접 경고 기능 예는 지도에 사용자의 현재 위치를 표시합니다. 사용자는 맵을 스크롤하여 관심 있는 위치를 선택할 수 있습니다. 대상 위치에서 지도를 클릭하면 위치의 위도와 경도가 GoogleMap.OnMapClickListener로 전달됩니다. 수신기에서 지오펜싱 또는 위치 근접 경고는 Geofence API를 사용하여 위치 서비스에 추가됩니다. 다운로드가 완료되면 Android Studio 3.2 이상에서 시작 프로젝트를 엽니다. 이 샘플에서는 Gradle 빌드 시스템을 사용합니다. 이 프로젝트를 빌드하려면 “gradlew 빌드” 명령을 사용하거나 Android Studio에서 “프로젝트 가져오기”를 사용합니다. 위치 서비스에 지오펜싱 요청을 추가하는 동안 setExpirationDuration 메서드를 호출하여 Geofence.Builder 개체에 설정할 수 있는 특정 시간 기간이 만료된 후 위치 서비스를 자동으로 제거할 수 있습니다. 위치 서비스는 사용자가 지오펜스에 입력하거나 종료한 것을 감지하면 지오펜스 추가 요청에 포함된 보류 중인 의도에 포함된 의도를 보냅니다. 이 의도는 의도에서 지오펜싱 이벤트를 가져오고, 지오펜스 전환 유형을 결정하고, 정의된 지오펜스가 트리거된 것을 결정하는 서비스에서 수신됩니다. 그런 다음 알림을 출력으로 보냅니다.

IntentService는 지오펜스 전환을 수신하고 서비스 이름을 지정하는 요소를 추가합니다. 이 요소는 요소의 자식이어야 합니다. 당신은 지오 펜스와 함께 작동하도록 자신의 구현을 만들 수 있습니다, 하지만 구글의 GeofencingApi를 사용하는 것이 더 쉽습니다. (참고 : 이것은 안드로이드 8.0 오레오 (API 26)에서 더 이상 사용되지 않습니다. 이를 위해 알림 채널을 사용해야 합니다. (참고 : 안드로이드는 정확도를 보장 할 수 없으므로 100 미터보다 작은 반경을 사용하지 않는 것이 좋습니다.) 연결 콜백.onConnected()를 구현할 때 LocationClient.addGeofences()를 호출합니다. 연결이 실패하면 onConnected()가 호출되지 않고 요청이 중지됩니다. 안드로이드 구글지도 API 튜토리얼에 나열된 단계를 수행하여 Google 플레이 서비스 API를 사용할 수 있도록 프로젝트를 설정 한 후, 당신은 당신이 당신의 프로젝트의 gradle.build 파일에 구글지도 안드로이드 API 및 위치 API 라이브러리를 추가해야합니다 아래 를 표시합니다. 마지막으로, 수신기와 서비스는 AndroidManifest.xml에 선언해야하므로 응용 프로그램 닫기 태그 바로 앞에 추가하십시오: 지오펜스를 추가하려면 addGeofence() 메서드를 호출합니다.