Мой код am.set(AlarmManager.ELAPSED_REALTIME,7*AlarmManager.INTERVAL_DAY, pi);
при перезагрузке AlarmManager будет отменен. Как я могу это сделать в reboot broadcastreceiver, я хочу подсчитать оставшееся время.Alarmmanager, когда я перезагружаюсь, как я могу оставить время
0
A
ответ
0
Если вы хотите, оставшееся время сохраните установленное время, чтобы вызвать ваш сигнал тревоги в кэше
long timeOfTrigger = System.getCurrentcurrentTimeMillis() + 7 * AlarmManager.INTERVAL_DAY;
//use RTC instead of ELAPSED_REALTIME
//RTC calculates absolute time while
//ELAPSED_REALTIME calculates time that has passed since the android system boot.
am.set(AlarmManager.RTC,timeOfTrigger, pi);
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putLong("TimeWhenAlarmStarts", timeOfTrigger);
editor.commit();
Это позволит сохранить значение времени запуска в кэше. Затем в любое время (даже если вы перезагрузили приложение или телефон) вы можете найти оставшееся время только на
SharedPreferences sharedPref = context.getSharedPreferences(Context.MODE_PRIVATE);
long timeOfTrigger = sharedPref.getLong("TimeWhenAlarmStarts" , defaultValue);
long remainingtime = timeOfTrigger - System.getCurrentTimeInMillis();
// the default value can be anything and is used if the SharedPreferences where empty
Смежные вопросы
- 1. Как я могу оставить счетчик?
- 2. Как я могу оставить поле неопределенным во время PDO INSERT?
- 3. Могу ли я оставить запись в релизах?
- 4. почему я не могу оставить класс пустой
- 5. Как я могу оставить сообщение в crashlog, когда я поймаю исключение?
- 6. Могу ли я разместить много времени в классе Service, когда я использую AlarmManager?
- 7. Как я могу сократить время?
- 8. Как я могу оставить свою очередь asp.net с другим сервером?
- 9. Как я могу оставить столбцы нетронутыми с агрегатом в R
- 10. Как я могу оставить поля от мыльной реакции оси2?
- 11. AlarmManager - Я делаю это правильно?
- 12. Как я могу оставить закрытие функции Lua в хвостовом вызове?
- 13. Как я могу заставить geom_area() оставить пробел для отсутствующих значений?
- 14. Как я могу запрограммировать следующий раз, когда установленный будильник установлен?
- 15. Как я могу надежно отслеживать ввод мыши и оставить события?
- 16. Как я могу оставить постоянно включен Джанго порт 8080
- 17. Как я могу оставить окна и пойти слишком Linux?
- 18. CSS Как я могу заставить частицы оставить след, который исчезает?
- 19. Как я могу получить время, когда откроется конкретное окно?
- 20. Как я могу установить время, когда человек может проголосовать снова?
- 21. Как я могу сэкономить время, когда пользователь касается UIScrollView?
- 22. Как я могу выполнить запрос Когда время = это
- 23. Где я могу найти ресурсы для создания alarmManager и уведомления?
- 24. Время обновления в AlarmManager
- 25. Как я могу взять дату, положить ее в другое поле и оставить время?
- 26. Как я могу установить время для InsertAfter
- 27. Соединение MySql, могу ли я оставить его открытым?
- 28. AlarmManager в андроиде бежит каждый раз, когда я открываю приложение
- 29. Как я могу отображать время вместо кнопки?
- 30. как я могу сэкономить время на файл?
Если я изменю время андроида RTC будет изменено? –
Wait RTC вычисляет время с помощью [UTC] (https://en.wikipedia.org/wiki/Coordinated_Universal_Time), поэтому, даже если вы измените часовой пояс, RTC не будет затронут, поэтому приведенный выше код должен работать нормально. –
спасибо, что нашел этот способ для resloved problem.I использовать jude телефон AUTO_TIME, когда он меняет время телефона, это приложение не сможет открыть –