定期在后台运行服务

时间:2016-09-03 10:59:52

标签: android android-service android-alarms

我们正在设计用户在订阅时使用的应用。当用户支付特定时间段时,我们的服务器会在有效期内发出收据。该应用程序旨在使用"离线",因此它只会与互联网连接以从服务器获取收据。

在"离线"模式,应用程序等待付费持续时间#-of天,直到它要求用户再次付款。我们在实施这个问题时遇到了问

我们首先尝试使用始终运行的后台服务。但在阅读https://stackoverflow.com/a/2682130/5753416http://www.androidguys.com/2009/09/09/diamonds-are-forever-services-are-not/后,我们决定使用AlarmManger安排定期闹钟以检查付款。

当用户更改时间/日期时,我们现在面临警报问题。我们正在收听 Intent.ACTION_TIME_CHANGED和Intent.ACTION_DATE_CHANGED 广播,但在将日期设置为过去时,这不是广播

我的问题是实现类似功能的正确方法是什么。任何建议都表示赞赏。

修改

issues with the broadcast

ASOP bug issue

1 个答案:

答案 0 :(得分:0)

有一个解决方案,您需要做的是检查电话时间,以便您可以安排闹钟一段时间,如可能是一小时或根据您的频率。所以你需要做的是检查手机正常运行时间+用户付费的持续时间,如果通过则取消他的潜水员。您需要检查的唯一额外事项是,一旦连接网络以访问您的服务,手机是否重启。