gpt4 book ai didi

android: 使用 AlarmManager 运行后台任务

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:52:01 25 4
gpt4 key购买 nike

我正在编写一个应用程序,它需要定期检查服务器是否有新消息并通知用户。我见过一些使用 AlarmManager 来触发 BroadcastReciever 的示例,这似乎是正确的做法,但我似乎无法让它工作。

任何人都可以向我展示此类事情的分步教程(重复警报会触发某种触发通知的后台代码)吗?

TIA

最佳答案

这是一个完整的例子:http://android-in-practice.googlecode.com/svn/trunk/ch02/DealDroidWithService/

这个例子使用的模式,我发现它似乎工作得很好,是使用引导接收器来设置 AlarmManager(当然也检查从您的主要 Activity 也适用于安装您的应用程序但系统未启动的情况)并让 AlarmManager 为另一个发送 Intent接收者:http://android-in-practice.googlecode.com/svn/trunk/ch02/DealDroidWithService/src/com/manning/aip/dealdroid/DealBootReceiver.java

然后从 AlarmReceiver 启动一个 IntentService: http://android-in-practice.googlecode.com/svn/trunk/ch02/DealDroidWithService/src/com/manning/aip/dealdroid/DealAlarmReceiver.java

然后从您的 IntentService 进行网络调用以轮询数据,或任何您需要做的事情。 IntentService 自动将您的工作放在后台线程中,非常方便: http://android-in-practice.googlecode.com/svn/trunk/ch02/DealDroidWithService/src/com/manning/aip/dealdroid/DealService.java

还要检查这些类的文档,里面有很多内容。

这个例子的警告是它处理唤醒锁间隙(优秀的 CommonsWare 代码会在您需要时处理),但它可能会给您一些关于如何可能解决“使用 AlarmManager 和服务进行投票”的问题。

更新:代码现在在这里:https://github.com/charlieCollins/android-in-practice

关于android: 使用 AlarmManager 运行后台任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com