每小时使用 Jsoup 检查服务器是否有新更新

Check the server for new updates using Jsoup every hour

我正在申请大学,我正在使用 Jsoup 库 Java HTML Parser 从大学网站获取新闻文章,但我想每小时检查一次是否有新文章添加到推送通知给用户

我的方法是在共享首选项中保存最新文章的标题,并让我的应用每小时在后台获取最后一篇文章并将其与最后一篇进行比较,如果它们不同则推送通知

我的问题:如何让我的应用每小时在后台执行一次?

另一件事这是一个好方法吗?因为每小时这样做会耗尽电池用户的电量,有没有比这更好的检查新闻的方法? 顺便说一下:我没有在大学网站上使用 GCM 或其他东西的任何许可。

简答 - 警报管理器: https://developer.android.com/training/scheduling/alarms.html

长答案: 没有重复警报不是一个很好的解决方案,但我看到你无法控制排除 GCM 的大学服务器:(阅读上面 link 中关于 了解权衡的部分 这很有趣。您可能需要考虑一个同步适配器,因为这也有助于改进您的共享首选项解决方案。

您可以使用 AlarmManager

这样做没问题,我有一些应用程序也这样做

这里有一些教程 https://developer.android.com/training/scheduling/alarms.html http://www.vogella.com/tutorials/AndroidTaskScheduling/article.html

按照建议使用AlarmManager。

此外,您还可以使用 HTTP If-Modified-Since: 日期或 HTTP Etag 来检查文件是否被修改。

另外,另一种方法是允许用户设置他们所需的更新率,允许他们定义他们自己的数据新鲜度和电池寿命之间的平衡。 有关详细信息,请查看此 link