代码之家  ›  专栏  ›  技术社区  ›  mtmurdock

android:使用AlarmManager运行后台任务

  •  11
  • mtmurdock  · 技术社区  · 14 年前

    我正在写一个应用程序,需要定期检查服务器的新消息,并通知用户。我见过一些例子,使用AlarmManager击中广播接收器,这似乎是正确的做法,但我似乎无法让它工作。

    有人能给我看一个关于这类事情的循序渐进的教程吗(重复警报触发一些触发通知的背景代码)?

    短暂性脑缺血发作

    1 回复  |  直到 14 年前
        1
  •  32
  •   Charlie Collins    7 年前

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

    (当然,也要检查从主菜单开始的轮询 活动 同样,对于安装了应用程序但系统未启动的情况),请 全局定时器 发送 意图 对于另一个接收器: http://android-in-practice.googlecode.com/svn/trunk/ch02/DealDroidWithService/src/com/manning/aip/dealdroid/DealBootReceiver.java

    然后从 报警接收器 开始 内部服务 : http://android-in-practice.googlecode.com/svn/trunk/ch02/DealDroidWithService/src/com/manning/aip/dealdroid/DealAlarmReceiver.java

    从你的 内部服务 内部服务 http://android-in-practice.googlecode.com/svn/trunk/ch02/DealDroidWithService/src/com/manning/aip/dealdroid/DealService.java

    查一下这些类的文档,里面有很多。

    这个例子需要注意的是 处理wake-lock漏洞(如果需要的话,优秀的commonware代码可以做到这一点),但是它可能会给您一些关于如何潜在地解决“使用AlarmManager和服务进行轮询”的想法。

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