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 |
---|