Pracuję z Geofence API Sample application Mam to uruchomione i wydaje się działać poprawnie. Wprowadziłem modyfikacje, aby użyć BroadcastReceiver zamiast IntentService.Przykładowa aplikacja Android Geofencing działa tylko wtedy, gdy inna aplikacja jest otwarta przy użyciu GPS
Ale otrzymam powiadomienia tylko wtedy, gdy mam otwartą inną aplikację korzystającą z GPS, taką jak Mapy lub aplikacja GPS Tester.
Jeśli nie mam otwartej żadnej z tych aplikacji i wchodzę do strefy stref geofence, nic się nie dzieje. Ale zaraz po uruchomieniu jednego z nich otrzymam powiadomienie w ciągu kilku sekund.
Czy występuje ten sam problem z niezmodyfikowaną oryginalną aplikacją? Czy jest to związane z twoją zmianą z użyciem 'BroadcastReceiver'? A jeśli tak, kiedy mówisz "otrzymaj powiadomienie", jak konkretnie to testujesz? – CommonsWare
@CommonsWare Otrzymałem ten sam wynik z niezmodyfikowaną aplikacją (zwróć uwagę, że musiałem dodać tag meta-danych do manifestu aplikacji, aby go uruchomić w ogóle, była to jedyna zmiana w stosunku do tego, jak go ściągnąłem). W rzeczywistości przełączyłem się na odbiornik, ponieważ szukałem go, aby rozwiązać ten problem i znalazłem kilka sugestii, że Odbiornik pomógł ludziom uzyskać oddzwonienia z geofencingami bardziej konsekwentnie. Przykładowy kod (i mój odbiorca) wysyła powiadomienie do paska powiadomień po uruchomieniu wyzwalacza geofence. Więc moim jedynym testem jest to, czy kiedykolwiek dostanę to powiadomienie. – FoamyGuy
Jeśli dosłownie wchodzisz w strefę geofence, spróbuj zdefiniować większą strefę i być w poruszającym się pojeździe. Byłbym zaskoczony, gdyby zarejestrowana geofence spowodowała dużą aktywność GPS w oparciu o ograniczony ruch, a dostawca sieci może być zbyt niedokładny w przypadku małej strefy geofence. – CommonsWare