好吧所以我正在开展一个项目,我希望应用程序检查互联网上的更新。我还希望用户能够自定义进行这些检查的频率。
我正在努力解决这个问题。 我想我有一个Intent.ACTION_BOOT_COMPLETED的BroadcastReceiver检查,然后根据已在某处设置的变量启动AlarmService。
但是如果用户想要更新间隔会发生什么?如何停止旧的AlarmService并将其替换为新的?
另外,如何让我的AlarmService在我的应用中运行“后台更新”部分而不实际运行任何活动?
编辑:也有人可以建议我是否正确使用AlarmService?我想要经常检查更新,我应该使用其他方法吗?我会在1-5分钟之间检查一下。
答案 0 :(得分:0)
我在我的应用程序中做了类似的事情。我基本上有两个服务:一个设置警报,另一个设置实际的下载。 当你的BroadcastReceiver获得ACTION_BOOT_COMPLETED的意图时,你启动你的alarmService,它发送一个广播来启动downloadService。 所以你的BroadcastReceiver做了两件事:如果intent == BOOT_COMPLETED则启动alarmServcie,否则启动下载服务。 此外,如果用户更改了他希望完成这些更新的时间段,则将所选值存储在首选项中,启动警报服务并检索值以设置新的时间段,例如: G。 1小时2小时
编辑:以下是有关待处理意图以及如何取消它们的文档中的一些信息。 http://developer.android.com/reference/android/app/PendingIntent.html
当用户更改间隔时,您应首先取消旧的闹钟服务,然后重新设置。