Zgodnie Android Developers Documentation,
JobInfo.isRequireBatteryNotLow()
stwierdza:
Praca nie działa, gdy poziom naładowania baterii jest na poziomie lub poniżej progu Krytyczny; jest to poziom, na którym urządzenie pokazuje okno dialogowe System ostrzegania o niskim stanie akumulatora.
Również
setRequiresBetteryNotLow(boolean batteryNotLow)
here stwierdza, że:
określić, że do uruchomienia tego zadania, poziom naładowania baterii urządzenia nie musi być niska. Ta wartość domyślna to false. Jeśli true, zadanie zostanie uruchomione tylko wtedy, gdy poziom naładowania baterii nie jest niski, co jest generalnie punktem, w którym użytkownik otrzymuje ostrzeżenie "niskiego poziomu baterii".
Niestety, poniżej API 26 jest mniejszy dostęp z JobScheduler i jak można z niego korzystać. Prawdopodobnie możesz nie być w stanie użyć metod, o których wspomniałem, poniżej interfejsu API 26. Możesz znaleźć tutaj dowód pomocniczy: Android JobScheduler
Firebase JobDispatcher służy jako warstwa zgodności z JobScheduler dla aplikacji kierowanych na wersje Androida niższej niż 5.0 (poziom API 21). Nie jestem pewien, czy pozwoliłoby ci to osiągnąć pożądany scenariusz, ale popatrz na niego.
Dzięki @ianhanniball za poprawę odpowiedzi i zwrócenie na to uwagi.
To API dodano API 26 i nie ma zastosowania do Urządzenie API 21 niestety. – ianhanniballake
Dokumentacja dla programistów Androida @ianhanniballake wyjaśnia tutaj: https://developer.android.com/topic/performance/scheduling.html#js –
@ianhanniballake Czytałem również dokumentację dla tego samego. Czy jest jakiś sposób na to samo w API 21? –