问题标签 [repeatingalarm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
451 浏览

android - 无法取消重复警报Android

我已经阅读了有关 Android、AlarmManager 和取消的所有问题。

我目前通过以下方式使用Activity启动接收器:

这会在调用此代码一毫秒后启动接收器Updater,请求代码为 12(任意选择,使用 0 会产生相同的错误行为)。它还将 Updater 的来源设置为当前调度的 PendingIntent,稍后用于取消警报。

更新程序如下所示:

它目前所做的只是记录消息“运行”,它完成了约 1000 次/秒。当onStop()调用 Activity 时,Updater.flaggedClose设置为1. 我可以在 Logcat 中看到这一点,因为它开始打印日志警告“关闭”。但是,警报仍然存在,因此所有其他记录的消息都是“运行”,而其他所有消息都是“关闭”。在最好的情况下,警报会在几秒钟后关闭。最坏的情况我需要重新启动手机。在 AlarmManager 的描述中,它特别指出 close 关闭“任何类型的警报,其 Intent 与此匹配(由 filterEquals(Intent) 定义),将被取消”。为什么还会触发警报?

0 投票
1 回答
3238 浏览

android - 使用 AlarmManager 设置重复通知 - Android

我正在使用 TimePicker 从用户那里获取特定时间。然后我利用这段时间每天在这个时间设置一个重复的闹钟。当警报响起时,我希望将通知发送给用户。我的代码似乎是正确的,我在 android studio 中没有收到任何错误,但是当我运行这个应用程序并在特定时间设置它时......它永远不会关闭。请帮忙。此外,我还没有找到任何可以向我展示如何使用 TimePicker 获取 AM 或 PM 用户选择的内容。我的代码如下。提前致谢。

这是 MyActivity (启动时打开的那个)

这是我的通知类

}

我的清单

0 投票
2 回答
1368 浏览

android - 如何避免超过闹钟时间触发闹钟?

我已安排在每天上午 10 点触发警报。

我在星期一上午 12 点设置这个闹钟。

如果警报时间已过,则警报将立即触发。

但出于我的要求,我不想立即触发。我可以在第二天上午 10 点触发。

以下是我当前设置警报的代码:

我该如何做到这一点。

0 投票
1 回答
198 浏览

android - 在android中安排工作日[周一至周五]早晚闹钟的简单方法?

我想在工作日早上 10 点和晚上 10 点安排闹钟。

5 个不同的日历对象,每天一个 [周一至周五]。

所以我必须创建 5 个不同的待处理意图,如下所示,

具有 5 种不同 setRepeating 方法的单个警报管理器对象。

我想像上面那样做。有没有什么简单的方法可以在每周一到周五的上午 10 点设置闹钟。

代码共享总是受欢迎的。

请帮助我。

0 投票
0 回答
658 浏览

android - 如何每天在特定时间发送通知

我知道这个问题已经被问过很多次,并且我已经实施了提供的解决方案。但是,当我启动应用程序并一遍又一遍地重复时,我会收到很多次通知。设置为在 24 小时后接收通知。请帮忙。

在 onCreate 我正在调用下面的函数:

并在收到通知时:

在清单中添加接收器

0 投票
1 回答
714 浏览

android - 在 Android 中设置每月重复通知

我想在每个月的 8 号设置一个通知。

这就是我所做的:

然而,我得到的是几分钟内不断的通知。这不会消失。

非常感谢您的帮助,因为我真的不知道哪里出了问题。

0 投票
1 回答
2006 浏览

android - 如何在警报管理器的 setExact() 函数中设置重复时间

每个人都在这里说使用setExactAPI 级别 19 及更高级别,但找不到如何在其中设置重复时间,以便在指定时间再次重复。

那么请告诉我如何在setExact方法中设置重复时间?

这是我的代码

0 投票
1 回答
1007 浏览

android - 如何配置我的 AlarmReceiver 以在我想要的时间间隔实际触发?

我的应用程序这部分的目标是始终在后台运行重复警报,每 15 分钟从服务器端机器学习算法中获取一个新的预测,更新应用程序。

我目前已经实现了这种所需行为的框架,以确保我的方法正确。这个骨架应该每 10 秒触发一次祝酒,说明警报正在工作。但是,在我最初设置闹钟后,我再也没有看到其他消息。我还包括对控制台的写入,但这也从未出现过,这让我相信我并不完全了解警报接收器的工作原理。

这是我实例化警报和接收器的主要活动类:

这是我的警报接收器类:

我已经更新了我的清单:

0 投票
1 回答
106 浏览

java - Android - 重启后启动 AlarmManager

重启后 AlarmManeger 不会启动,但它应该启动。我该怎么做?安卓清单:

广播接收器:

0 投票
2 回答
1480 浏览

android - AlarmManager 不重复

我不能让 AlarmManager 重复。我尝试了很多例子,但对我来说它们不起作用。警报总是只触发一次,然后什么也没有发生。我在我的设备(android 4.4.2)上运行了所有示例,所有示例的工作方式完全相同。只是一场火灾,然后什么都没有。谁能告诉我我做错了什么?这是最后一个示例的代码: 接收器:

AndroidManifest.xml:

活动:

我也试过这些:

https://developer.android.com/training/scheduling/alarms.html http://www.coderzheaven.com/2011/07/31/how-to-setup-a-repeating-alarm-in-android/

还有更多,但我不能发布它,因为红色提示说我需要至少 10 名声望

编辑

问题是在 API 19+ 中所有的警报都是不准确的。这是文档中的内容:

注意:从 API 19 开始,所有重复警报都是不准确的。如果您的应用程序需要精确的交付时间,那么它必须使用一次性精确警报,并如上所述重新安排每次。targetSdkVersion 早于 API 19 的旧版应用程序将继续将其所有警报(包括重复警报)视为准确。

以及可能的解决方案:

注意:对于计时操作(滴答声、超时等)> 使用 Handler 更容易、更高效

如果您的应用程序希望允许传递时间漂移以保证警报之间总是至少经过一定的时间间隔,那么采取的方法是使用一次性警报,在处理每个警报传递时自己安排下一个.