2014-09-10 1 views
1

Я разрабатываю новую версию приложения, которое является своего рода секундомером, который через некоторое время делает шаг или достигает контрольной точки. Этот секундомер должен работать часов, часов и часов без остановки.Приложение Cordova + Ionic запускается в фоновом режиме и возобновляется до последнего экрана

Когда приложение работает на переднем плане, проблем нет, но когда приложение проходит в фоновом режиме, происходит какое-то странное явление, и через некоторое время кажется, что приложение убито, а когда я возвращаюсь к приложению, перезапускается.

Старое приложение, сделанное с помощью cordova + sencha touch У меня не было такого поведения, и я мог бы оставаться в фоновом режиме (без использования плагинов для этого).

Мне не обязательно, чтобы приложение оставалось работать в фоновом режиме, потому что мне нужно только знать, когда был запущен секундомер, я только хотел бы вернуться и возобновить приложение до последнего экрана.

Как я могу это сделать?

Спасибо!

ответ

3

Существует много вещей, которые могут произойти, в то время как приложение находится в фоновом режиме, поэтому вы, вероятно, можете сохранить текущее состояние приложения в событии выхода/паузы приложения, сохранить время синхронизации.

Как только пользователь вернется, каким-то образом прочитайте ваше последнее состояние, «заново создайте» последнее состояние, проверьте текущее время и вычислите время, прошедшее для обновления вашего секундомера.

Возможно, вы полагаетесь на время сервера, а не на время устройства.

+1

Да, используя 'localStorage', вы можете сохраняться в те времена. – Peter

+0

Я надеялся, что существовало что-то готовое! Спасибо – manzapanza

+0

@ Peter/@ manzapanza, как это было достигнуто? вы просто обновляете значение localstorage каждую секунду и сравниваете его с временем начала? Или вы устанавливаете только значение localstorage на window.onbeforeunload или что-то подобное? – ak85