在后台更新和处理数据(以指定的时间间隔)

时间:2013-08-01 17:59:37

标签: android background notifications

标题migth已经讲述了我的问题。我只是描述了应该做什么。

  1. 以指定的时间间隔(不仅在UI运行时)在后台下载xml数据
  2. 处理此数据
  3. 如果数据是这样说的 - >发送通知
  4. 如果用户打开UI,请让UI获取数据
  5. 如果用户关闭了UI,则间隔应该仍然存在
  6. 有些人推荐服务,有些人说应该使用Android的警报系统,因为正在进行的服务会占用大量内存并可能被系统杀死。

    有人可以帮我找到最好的方法吗?

2 个答案:

答案 0 :(得分:0)

警报管理器的好处:

  1. 警报管理器保存CPU唤醒锁定并确保执行onReceive方法。此外,它还可以唤醒设备进行工作。
  2. 正如你所说,服务可以被系统破坏,它拥有资源。
  3. 所以我认为,对于这项工作,你应该使用Alarm Manager,它是专门为将来某个时候的工作而设计的。

答案 1 :(得分:0)

同步适配器。 您可以将同步适配器配置为以指定的时间间隔运行。系统将检查以确保网络可用。同步适配器在后台运行。它可以发送通知。

通知的标准模式是,如果用户单击通知,则会发出内容Intent。该Intent应该返回到您应用中的Activity。通知API指南和通知用户培训课程中描述了此模式。

当用户关闭UI时,间隔仍然存在;它会一直存在,直到你更改它或删除同步适配器。

请参阅课程Transferring Data Using Sync Adapters

如果此方法不适合您,请发表评论。