如何在没有触摸存储的情况下为Android服务存储最小状态

时间:2011-12-16 19:14:07

标签: android service state

我需要一种方法来保存少量的状态(基本上只是一个32位整数),它可以在我的IntentService调用中存活。

我无法使用SharedPreferences,因为它使用闪存,这不适合我的应用程序。我不需要这个值来重新启动,无论如何,因为它更像是一个临时值,让我知道下次服务运行时该做什么。唯一的另一种选择似乎是让我的服务一直运行,我想避免。

编辑:我想出的一个想法是根据我所处的状态请求不同的意图。例如,如果我有5种不同的状态,我可以有5种不同的意图,并让AlarmManager返回对应的一种状态当我的IntentService完成其工作时,我所处的状态。

2 个答案:

答案 0 :(得分:0)

使用sqlite db。您可以将表配置为一次只有一个条目。

答案 1 :(得分:0)

这可以通过使用包含要保存的状态的Intent附加功能调度带有AlarmManager的PendingIntent来实现。如果需要这些信息,请调用getBroadcast()来获取意图,然后取消警报并立即调用PendingIntent.send()来提取数据。