2

O 기기의 백그라운드에서 실행되는 Android 앱의 위치 수집에 제한 사항이 적용되는 경우 위치 업데이트를 자주하는 개발자에게 좋은 옵션은 무엇입니까?O 기기에서 실행되는 앱의 배경 위치 제한을 다루기위한 좋은 전략은 무엇입니까?

O는 아직 개발자의 미리보기에 있지만 백그라운드에서 위치를 수집하는 방법에 큰 변화가 있음을 알고 있으며 내 앱에 필요할 수있는 변경 사항을 미리보고 싶습니다.

답변

1

전경이 아닌 위치 업데이트를 요청하는 앱은 O 기기에서 실행될 때 약간의 제한이 있습니다. 위치 업데이트는 백그라운드에서 계속 사용할 수 있지만 LocationRequest # setInterval에 지정된 간격보다 자주 발생하지 않을 수 있습니다. 개발자는보다 많은 위치 업데이트를 얻기 위해 다음과 같은 옵션을 선택할 수 있습니다.

  1. 업데이트를 포그 라운드로 요청하십시오. 즉, 활동주기의 일부로 업데이트를 요청 및 제거 (예 : onResume())하고 onPause()을 제거하십시오. 포 그라운드에서 실행중인 앱은 O 장치의 위치 제한을받지 않습니다.

  2. foreground service을 사용하여 업데이트를 요청하십시오. 여기에는 사용자에게 지속적 알림을 표시하는 작업이 포함됩니다.

  3. 지오 펜싱을 사용하여 기기의 위치를 ​​기반으로 알림을 실행합니다. 유스 케이스가 특정 영역을 입력, 거주 또는 종료하는 장치에 의존하는 경우이 API는 이러한 알림을 얻는 효율적인 방법을 제공합니다. 지오 펜스 전환을 트리거 한 위치를 가져 오는 GeofencingEvent#getTriggeringLocation []을 참조하십시오.

  4. LocationRequest#setMaxWaitTime을 사용하여 일괄 처리 된 위치 업데이트를 사용하십시오. 이 API를 사용하면 일괄 처리되지 않은 API보다 위치가 더 자주 제공 될 수 있지만 setMaxWaitTime (한 시간에 몇 번으로 제한 될 수 있음)으로 지정된 간격 후에 배치로 전달됩니다. 수동 위치 업데이트 사용 : 앱이 백그라운드에서 포 그라운드의 다른 앱이 위치 업데이트를 요청하면 수동으로 위치 업데이트를받을 수 있습니다. 약간의 간격 (예 : 5 분)으로 LocationRequest#setFastestInterval을 사용하여 이러한 업데이트 중 일부를받을 수 있습니다.

0

이 안드로이드 O 배경 위치 제한을 처리하는 방법에 큰 범위의 문제는 점을 감안,이 관련이있을 수 :

앱은 주로로 사용하는 백그라운드에서 위치를 수신 할 필요가있는 경우 종속 입력 인 Awareness API이 유용 할 수 있습니다.

Geofence는 기기가 X 마일 이동했을 때 알림을 받고 싶지만 실제로 위치 좌표는 신경 쓰지 않는 한 예입니다. 마찬가지로, 서버에서 위치 종속적 인 데이터를 가져 오는 것과 같은 위치를 필요로하거나 위치에 따른 알림을 트리거하는 경우, Awareness에는 유용한 API가 많이 있습니다.

예를 들어, weather snapshot API을 사용하면 위치를 요청하지 않고도 기기 위치에서 날씨를 얻을 수 있습니다. TimeFence에는 기기 위치의 시간대 또는 일출/시간 등을 기준으로 순간에 앱을 깨우는 API가 있습니다.