Как хранить минимальное состояние для сервиса Android БЕЗ касания хранилища - PullRequest
0 голосов
/ 16 декабря 2011

Мне нужен способ сохранить небольшое количество состояния (в основном, просто 32-разрядное целое число), которое будет сохраняться при вызовах моего IntentService.

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

edit: Одна из идей, которые я выдвинул, заключается в том, чтобы запрашивать разные намерения в зависимости от того, в каком состоянии я нахожусьНапример, если у меня есть 5 разных состояний, у меня может быть 5 разных намерений, и AlarmManager возвращает значение, соответствующее состоянию, в котором я нахожусь, когда мой IntentService завершает свою работу.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2013

Это может быть достигнуто путем планирования PendingIntent с AlarmManager с дополнительными элементами Intent, содержащими состояние для сохранения. Если информация необходима, вызовите getBroadcast (), чтобы получить намерение, затем отмените сигнал тревоги и немедленно вызовите PendingIntent.send () для себя, чтобы извлечь данные.

0 голосов
/ 16 декабря 2011

используйте sqlite db. Вы можете настроить свою таблицу так, чтобы она содержала только одну запись за раз.

...