2012-07-30 73 views
0

我在(here)之前询问过此问题,但没有引起注意,我觉得这对于选择开始类似问题的人来说可能非常有用。在没有创建自己的闹钟应用程序的情况下实现独特的闹钟

基本上,我正在实现为用户设置警报的应用程序,并且在我当前的尝试中,我正在使用ACTION_SET_ALARM意图来设置系统警报。现在可以正常工作了,但有一个例外:每当我设置一个报警时,它会发出一个全新的报警,直到最终报警数据库完全充满冗余报警。

我想弄清楚如何设置独特的闹钟,而不必完全设计我自己的闹钟应用程序。必须有一种方法才能做到这一点,只需利用本机Android闹钟类的某些功能即可。

方法我迄今使用:

  • Android开发者文档;

  • 几乎每个关于这个话题的论坛上的帖子;

  • 利用我通过桌面时钟源代码搜索发现的各种其他意图;

  • 导入警报类,setAlarm类。

我剩下的最后一个选项是走上AlarmManager类,但是这基本上是重新创建闹钟类,我想这个应用程序是通用的(它可以适用于大多数的闹钟应用程序),而不必依靠自己的。

任何援助将不胜感激。

+1

你有帮助,欣赏在哪里? – 2012-07-30 18:10:01

+0

请在下面看到我的回复!考虑到有两个答复,我需要在选择正确答案之前确认潜在解决方案的工作功能。 – Squagem 2012-07-30 18:21:43

+0

@Squagem你的意思是你想更新现有的警报? – likejiujitsu 2014-03-05 00:40:07

回答

1

只有利用本机Android闹钟类的某些功能,才能做到这一点。

欢迎您的意见,尽管您的意见可能需要伴随着你自己的Android和您自己的移动设备系列。

首先,没有太多的“原生Android闹钟类”。它主要是an Intent action string and a series of keys for extras。闹钟功能的实现依赖于设备和用户,尽管许多人只是使用Android开源项目中的一个。

在这一点上,你遇到了两个问题:

  1. 从Android开源项目中的应用程序不支持你想要什么

  2. 没有其他的应用程序必须支持你想要什么,因为它超出了记录的行为范围

+0

我看,所以总结一下,你的意思是说,实际上没有办法使用android开源(deskclock)闹钟来做到这一点。 相反,我需要测试每个安装的应用程序,并从那里开始工作,以确定它们是否提供设置唯一警报的功能。 谢谢您的回复! – Squagem 2012-07-30 18:03:09

+0

Squagem,有办法做到这一点,因为我已经显示,但AlarmClock是一块.... – 2012-07-30 18:06:15

+0

@CodeDroid,使用AlarmManager似乎是一个可行的解决方案,但这是否解决了使用android开源的问题DeskClock中?我似乎无法看到我将如何使用外部警报管理器修改当前现有的闹钟。 – Squagem 2012-07-30 18:15:05

0

您需要做的是使用AlarmManager广播脉冲。这是获得脉搏出去的最可靠的方法。让广播接收机在该脉冲上侦听传递给服务或根据需要启动活动。在那里你会检查你的报警条件列表,看看它们是否被满足。请注意,您也可以在此处检查时间戳。是AlarmManager比其他可用于此的服务更可靠。

+0

使用AlarmManager似乎是一个可行的解决方案,但这是否解决了使用android开源DeskClock的问题?我似乎无法看到我将如何使用外部警报管理器修改当前现有的闹钟。 – Squagem 2012-07-30 18:25:03