Definiuje interfejs do udostępniania danych o lokalizacji, zwykle do obiektu GoogleMap.
Obiekt GoogleMap ma wbudowanego dostawcę lokalizacji na potrzeby warstwy Moja lokalizacja, ale może mieć wartość replaced z innym obiektem, który implementuje ten interfejs.
Obiekt GoogleMap aktywuje swojego dostawcę lokalizacji za pomocą activate(OnLocationChangedListener). Gdy funkcja jest aktywna (między activate(OnLocationChangedListener) a deactivate()), dostawca lokalizacji powinien przekazywać okresowo aktualizacje lokalizacji do detektora zarejestrowanego w activate(OnLocationChangedListener). Obowiązkiem dostawcy jest rozważne korzystanie z usług lokalizacyjnych zgodnie ze stanem cyklu życia mapy. Na przykład usługa powinna korzystać z usług, które zużywają dużo energii (np. GPS), od czasu do czasu lub tylko wtedy, gdy usługa jest uruchomiona na pierwszym planie.
Podsumowanie zagnieżdżonych zajęć
| interfejs, | LocationSource.OnLocationChangedListener | Obsługa aktualizacji lokalizacji. | |
Podsumowanie metod publicznych
| abstrakcyjna pustka | |
| abstrakcyjna pustka |
deactivate()
Dezaktywuje tego dostawcę.
|
Metody publiczne
public abstract void aktywuj (detektor LocationSource.OnLocationChangedListener)
Aktywuje tego dostawcę. Ten dostawca będzie co jakiś czas powiadamiać dostarczonego detektor, dopóki nie wywołasz funkcji deactivate(). Powiadomienia będą transmitowane w wątku głównym.
Parametry
| detektor | odbiornik, który jest wywoływany, gdy dostępna jest nowa lokalizacja |
|---|
Rzuty
| IllegalStateException | jeśli ten dostawca jest już aktywny |
|---|---|
| IllegalArgumentException | jeśli listener ma wartość null
|
public abstract void deactivate ()
Dezaktywuje tego dostawcę. Zarejestrowane wcześniej wywołanie zwrotne nie jest powiadamiane o kolejnych aktualizacjach.
Rzuty
| IllegalStateException | jeśli ten dostawca jest już nieaktywny |
|---|