【问题标题】:Launch activity at certain time在特定时间启动活动
【发布时间】:2009-12-28 22:39:42
【问题描述】:

我是 Android 开发的新手,所以我可能会遗漏一些明显的东西。我想在用户的电话时钟达到指定时间(类似于闹钟)时启动Activity。但是,我不确定我将如何去做,因为不断轮询时钟似乎效率低下并且浪费资源。我需要从时钟捕获广播事件,还是使用PendingIntents?如果有人能指出我应该阅读的一些 SDK 方法/服务,将不胜感激。 谢谢。

【问题讨论】:

  • 请记住,如果您执行此操作,您的用户将在温室中使用铅管攻击您。突然弹出一个活动,除了来电,被认为是不礼貌的应用程序行为。毕竟,如果您的闹钟响起时用户正在做某事怎么办?
  • 啊,我没有在已发布的应用程序中实现这一点。我只是在玩弄 SDK。但我同意,在手机上意外启动应用程序会很疯狂。

标签: android android-activity android-intent broadcast


【解决方案1】:

查看android.app.AlarmManager 的文档。

此类允许您的应用程序安排 PendingIntents 在特定时间进行广播,这听起来正是您正在寻找的。只需安排一个 PendingIntent 来启动所需的应用程序。

请注意,当您的闹钟响起时,手机将被阻止进入休眠状态,直到(且仅在)onReceive() 执行完毕。如果您需要让手机保持更长的唤醒时间,您可能需要实现自己的唤醒锁。

【讨论】:

  • 感谢您的回复。 AlarmManager 看起来像我需要的。我想我以前看过它,但仔细阅读后认为它实际上是用于警报系统的。我会玩这个,希望我能得到一些工作:)。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多