Я пытаюсь определить, перезагрузилось ли устройство Android с момента установки значения предпочтения. В идеале я бы хотел сделать это без разрешения android.permission.RECEIVE_BOOT_COMPLETED
.Указать, был ли телефон перезагружен.
Один из способов, который я собираюсь сделать, это сохранить другое значение предпочтения, которое содержит какой-то идентификатор сеанса. Когда я обновляю значение предпочтительности, о котором идет речь, я также обновляю значение сеанса. Когда я проверяю значение в предпочтении для значения сеанса, если оно равно текущему значению сеанса, то перезагрузка не была. Если текущее значение сеанса отличается от того, что было сохранено, произошла перезагрузка. К сожалению, я долгое время копался в документах, пытаясь найти значение сеанса, и я ничего не могу найти.
Я хотел бы помочь с одной из двух вещей. Если вы можете указать, где я могу найти что-то похожее на идентификатор сеанса или идентификатор загрузки, тогда я буду использовать свой алгоритм. В качестве альтернативы, я мог бы открыть другой алгоритм для решения проблемы. Спасибо огромное!
Пробовали ли вы 'SystemClock.elapsedRealtime();'? – Raptor
Почему вы не хотите слушать загрузку? – psyren89
К сожалению, я не думаю, что 'SystemClock.elapsedRealtime()' даст мне то, что я хочу. Это дает время с момента последней загрузки. Если я получаю время 3000000 миллисов с момента последнего загрузки, а значение, которое я сохранил ранее, составляло 1000000 миллисов, я не знаю, прошло ли 2000000 миллисов, или если телефон был перезагружен, а еще 3000000 миллисов от. –