Stworzyłem aplikację przypominającą ludziom, aby na czas opanowali wariactwo. Za każdym razem, po umieszczeniu nowego pliku APK w Google Play, otrzymuję wiele skarg, których alarm nie działa. Zaczyna działać ponownie dopiero po uruchomieniu aplikacji przez użytkownika (lub ponownym uruchomieniu). Pomoc!Android AlarmManager nie uruchamia się po aktualizacji Google Play
Odpowiedz
Zapoznaj się z intencją działania (na plaster miodu i na górę).
Powinieneś być w stanie zarejestrować odbiornik dla niego w manifeście, który może następnie przełożyć alarmy.
W Studio 1.0, gdy używam pomocy kontekstowej Widzę tylko ten android.intent.action.PACKAGE_REPLACED. Nie widzę Androida.intent.action.ACTION_MY_PACKAGE_REPLACED. Czy to w porządku, aby użyć pierwszego? Obsługuję tylko po API 16 – user2731584
Czy twoja minSdkVersion 16 i twoja wartość targetSdkVersion 21? – orip
tak, min SDK wynosi 16, a maksimum to 21. – user2731584
Zaplanowane alarmy NIE zostaną anulowane podczas aktualizacji. Zweryfikowałem to dla Androida w wersji 2.2 i 4.3 oraz najnowszego Google Play w chwili pisania.
Należy upewnić się, że nowe wersje obsługują wszystkie oczekujące zamiary dowolnej starszej wersji. Oznacza to, że:
- sama definicja cel w manifeście (odbiornik transmisji lub usług)
- sama intencja „umowa”: działania, Dodatki, itp
właściwie nie alarm zostanie anulowany, a ty masz aby ponownie go ustawić – AnasBakez
To jest nieprawidłowe. Alarm nie będzie już więcej anulowany. Chcesz dowód? Spójrz na źródło: http://grepcode.com/file/repo1.maven.org/maven2/org.robolectric/android-all/4.3_r2-robolectric-0/com/android/server/AlarmManagerService.java#AlarmManagerService. UninstallReceiver – sooniln
@sooniln masz rację, ale twój link wskazuje Robolectric kod źródłowy. Oto link do kodu źródłowego Androida - http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.2_r1/com/android/server/AlarmManagerService. java/# 1902 – Eliezer
Twoja aplikacja zostałby zatrzymany w celu zaktualizuj, włączając wszelkie usługi i alarmy. Będziesz musiał poinformować ich, aby otworzyli aplikację po aktualizacji, co da ci szansę na rozpoczęcie wszelkich usług/alarmów, których potrzebujesz. –
Tak, prawie utknąłeś tutaj. http://stackoverflow.com/questions/8531926/how-to-start-a-service-when-apk-is-installed-for--he-first-time/8535062#8535062 – roostertech