Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Smurfix
1 / 1 / 0
Регистрация: 21.02.2016
Сообщений: 31
#1

Обновление приложения и AlarmManager - Программирование Android

31.05.2016, 10:09. Просмотров 472. Ответов 6
Метки нет (Все метки)

Доброе утро, уважаемые форумчане!
Хочу сделать приложение – будильник. С помощью AlarmManager запускаю приложение в нужное время, все работает.
Но вот незадача, в момент обновления приложения через android studio все запланированные события убиваются… В принципе логично, для планшета это новое приложение. Старое удалилось, а значит, удалились и все события AlarmManager.

Вопрос: если я залью приложение на google play, пользователь набросает себе событий, а в один прекрасный день я обновлю приложение, все запланированные события пользователя тоже аннулируются?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2016, 10:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Обновление приложения и AlarmManager (Программирование Android):

AlarmManager не работает после закрытия приложения
Всем привет, сделал ресивер + нацепил туда alarm вот код в классе ресивера ...

Обновление приложения
Подскажите можно ли имея приложения в маркете создать с нуля приложение...

Обновление приложения;
Как обновить приложение?? Генерировал APK у товарища) ssl key переписал все с...

Обновление приложения
Добрый день, необходимо выполнить чтобы андроид приложение обновлялось, но без...

Обновление приложения
Добрый день, подскажите информацию по обновлениям. Как они осуществляются?...

Обновление данных приложения
Здравствуйте, есть простенькое приложение, которое показывает количество дней...

6
shavuz
114 / 120 / 25
Регистрация: 29.01.2014
Сообщений: 596
31.05.2016, 10:56 #2
Добрый день. более того возможно что по какой то причине пользователь сам переустановит приложение или на каком то определенном аппарате приложение упадет. тогда тоже все сотрется. я думаю что события должны записываться в Shared preferences, при добавлении события они будут обновляться а при апдейте или переустановке в в onCreate будут заливаться из памяти. могу посоветовать для хранения данных в Shared preferences пользоваться TinyDb которая позволяет хранить массивы и листы

Добавлено через 7 минут
извените , не правельно понял вопрос
обновление:
При переустановки происходит clean cash приложения. если делать апдейт с плей маркета то это не произойдет. но, для того чтобы 100% события запланированые пользователем сохранялись, нужно использовать один из двух варриантов 1) Записывать события на файл в удобном вам формате и доставать их оттуда 2) держать события на сервере, думаю этот варриант менее подходит для такого приложеня.
Лично я бы использовал Shared preferences для хранения данных в вашем случае. если пользователь удаляет приложение то он делает это скорее всего сознательно и понимает что события удалятся.
Хорошего дня
1
Smurfix
1 / 1 / 0
Регистрация: 21.02.2016
Сообщений: 31
31.05.2016, 12:35  [ТС] #3
shavuz, спасибо!
Получается нужно постоянно проверять не слетели ли события

Цитата Сообщение от shavuz Посмотреть сообщение
один из двух вариантов
1) Записывать события на файл в удобном вам формате и доставать их оттуда
Храню их в БД.

Придется проверять включены ли они при каждом запуске программы.
0
shavuz
114 / 120 / 25
Регистрация: 29.01.2014
Сообщений: 596
31.05.2016, 12:39 #4
ну да. нужна проверка, просто создаете обьект который если пустой то тянете с файла если нет то значит есть события
0
Smurfix
1 / 1 / 0
Регистрация: 21.02.2016
Сообщений: 31
31.05.2016, 13:02  [ТС] #5
С объектом нужно подумать...
Я думал в onDestroy прогнать в цикле обновление всех активных сообытий. Или как-то проверять их наличие через флаг FLAG_NO_CREATE при создании PendingIntent
0
shavuz
114 / 120 / 25
Регистрация: 29.01.2014
Сообщений: 596
31.05.2016, 13:12 #6
вы пользуетесь нон стики сервис?
0
Smurfix
1 / 1 / 0
Регистрация: 21.02.2016
Сообщений: 31
08.06.2016, 19:05  [ТС] #7
Цитата Сообщение от shavuz Посмотреть сообщение
вы пользуетесь нон стики сервис?
К сожалению с их работой знаком

В AlarmManager через set задаю событие.
Для проверки, не слетели ли события, использую:
Java
1
boolean alarmUp = (PendingIntent.getBroadcast(context, 0, alarm.createIntent(), PendingIntent.FLAG_NO_CREATE) != null);
если alarmUp == false, значит слетели...

Добавлено через 1 час 43 минуты
Цитата Сообщение от Smurfix Посмотреть сообщение
К сожалению с их работой знаком
В смысле, не знаком
0
08.06.2016, 19:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2016, 19:05
Привет! Вот еще темы с решениями:

Автоматическое обновление приложения
Приветствую всех. Нужен ваш совет. Написал программу для Андройд для своего...

Автоматическое обновление приложения
Хаиль! Есть приложение, оно само обновляется раз в минуту, и вновь поступившие...

Обновление приложения в Google Play
Я запустил свое приложение в Google Play. Сейчас нужно его обновить. Изменил...

Обновление приложения из google play
Друзья, подскажите, вот у меня подходит к завершению написание простенького...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru