首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“管理”AlarmManager。如何检测我是否已经有重复警报运行?

“管理”AlarmManager。如何检测我是否已经有重复警报运行?
EN

Stack Overflow用户
提问于 2011-04-17 02:47:29
回答 2查看 2.5K关注 0票数 3

我每5分钟就有一次服务。我已经有代码来安排在设备启动时重复报警。它起作用了但是

  1. 在安装应用程序并运行它时,我的警报没有运行。需要重新启动借方。这是意料之中的。
  2. ,如果我开始在活动启动时重复警报,那么我不确定是否已经从设备启动时发出了警报。我会得到“双打”吗?它会运行2个警报吗?

基本上,我想确保如果用户重新启动设备或电池死亡等,我会启动警报。但我也不希望他们重新启动设备时,当应用程序安装启动。或者,例如,如果用户“强制关闭”,然后运行应用程序-它将不再运行该服务,但它需要。而且,我不想要双轨制。我只需要每5分钟一次。

如何才能/需要这样做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-17 12:28:27

在安装和运行应用程序时,我的闹钟没有运行。需要重新启动借方。这是意料之中的。

您不必等到重新启动。在应用程序的第一次运行时安排您的初始警报。

,如果我开始在活动启动时重复报警,那么我不确定是否已经有从设备启动时发出的警报。我会得到“双打”吗?它会运行两个警报吗?

只要它是一个等价的PendingIntent,它应该取代现有的警报,AFAIK。

票数 5
EN

Stack Overflow用户

发布于 2012-01-20 15:39:44

如果你或其他人在这方面仍有问题,我可以分享我最后用来解决问题的东西。

首先,让我重申我理解的问题,因为似乎出现了一些混淆:您希望在应用程序第一次启动时做一些事情(在您的情况下,设置一个警报)。当应用程序的某个活动被带到最前沿时,情况就不是这样了。而且不止一次。

您在引导时加载的第一个活动有一个onCreate方法,该方法具有一个参数,它将极大地帮助您:

代码语言:javascript
复制
 public void onCreate(Bundle savedInstanceState) {}

第一次运行此活动时,savedInstanceState将等于null。此后的每一次都不会为空。使用它来触发是否在应用程序启动时执行某些操作。这就是我决定是否在启动时启动服务的方法。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5691103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档