Nugat zmienił sposób, w jaki obsługuje CONNECTIVITY_CHANGED intencje (w zasadzie ignoruje go, zmuszając Devs używać harmonogramu pracy), więc to pozostawia mnie zastanawiasz:wykryć zmiany Łączność na Android 7.0 Nugat gdy aplikacja jest w planie
Jeśli mam aplikacja, która jest w trakcie pobierania niektórych danych (i sprawdziłem, czy telefon był w trybie online w momencie, gdy wykonałem żądanie, ale użytkownik jest w ruchu, a telefon łączy się z innym punktem dostępu do sieci Wi-Fi, na przykład) i nie powiedzie się , w jaki sposób mogę wykryć, że połączenie zostało przywrócone, a ja ponowić próbę sfałszowania danych?
Więc w tym przypadku moja aplikacja jest na pierwszym planie, myślę, że Chrome (dla Androida) ma podobną funkcję.
Czy muszę sondować sam? Czy jest jakieś wydarzenie, które jest dozwolone w tym czasie?
Ach tak rejestracji słuchacza w manifeście lub tła wątku już nie działa, ale nadal możesz tak w głównym wątku działania (lub usługi, przypuszczam?) Dzięki! – REJH
Czy jest jakiś sposób, aby w jakiś sposób odsłuchać CONNECTIVITY_CHANGE w tle? –
Tak, powinieneś to zrobić za pomocą Job Scheduler. Więc nie wystrzeli natychmiast. Taki jest pomysł, ponieważ każdy programista myśli, że jego aplikacja powinna o tym wiedzieć, a zatem Twój telefon spowalnia do indeksowania, gdy tylko zmienisz sieć: P – REJH