【问题标题】:different situations to use AlarmManager vs Handler Android不同情况下使用AlarmManager vs Handler Android
【发布时间】:2011-07-23 20:31:14
【问题描述】:

请有人通过示例向我解释使用 AlarmManager 与 Handler 的不同情况。使用这两者交替使用有什么缺点吗?

谢谢。

【问题讨论】:

  • 如果您打算使用 AlarmManager,请查看 BuzzBox SDK:它建立在它之上,您可以使用 cron 表达式安排任务。让我知道你的想法:hub.buzzbox.com/android-sdk

标签: android alarmmanager android-handler


【解决方案1】:

它们彼此之间没有什么关系。我假设您指的是在Handler 上使用postDelayed() 之类的东西进行轮询,这只是Handler 的一个小功能。

您可以在活动中使用postDelayed()(也可在任何小部件或View 的其他子类上使用)来处理活动本身内的简单计时事件。

您可以将AlarmManager 用于定期后台操作,就像您在Linux/OS X 中使用cron 或在Windows 中使用计划任务一样。例如,如果您正在编写一个电子邮件客户端,您将使用AlarmManager 来触发调用邮件服务器并检查新消息的代码。用户可以选择电子邮件检查频率,这将决定AlarmManager 触发您的代码的频率。

【讨论】:

  • 我已经寻找这个答案好几天了;谢谢。是不是手机关机(黑屏)Handler就不会执行postDelayed,而AlarmManager会?我的轮询代码在手机永久打开时有效,但在手机睡眠时无效(或者在屏幕关闭但手机仍打开时调用它的任何内容);想知道我是否应该寻找另一个错误,或者换成 AlarmManager 是否可以解决这个问题。
  • @kyle:当手机处于睡眠状态时,什么都不会运行,包括任何postDelayed() 的东西。 AlarmManager使用正确可以唤醒手机。
猜你喜欢
  • 2012-10-25
  • 2017-02-13
  • 1970-01-01
  • 2014-09-07
  • 1970-01-01
  • 1970-01-01
  • 2010-11-03
相关资源
最近更新 更多