【问题标题】:Android skip alarmAndroid跳过警报
【发布时间】:2016-12-08 12:43:25
【问题描述】:

我的问题是如何在 Android 中跳过闹钟。

我创建了一个间隔为 1 天的闹钟。但是用户可以按一个按钮来完成间隔后自动完成的工作。

因此,不应在同一天再次执行自动工作。但是第二天的闹钟间隔应该和以前一样。

我可以使用取消方法来处理这个问题吗?我觉得不行。我认为取消方法将取消整个警报,而不是仅取消下一个警报。

我该怎么做?

希望你能理解我。对不起我的英语不好。

【问题讨论】:

  • calendar.add(Calendar.DATE, 1);这应该工作

标签: android alarmmanager alarm repeatingalarm


【解决方案1】:

你必须把你的alarmId保存在某个地方,当用户自己完成他的任务时,而不是使用你保存的alarmId取消你的闹钟

更多详情见Delete alarm from AlarmManager using cancel() - Android

【讨论】:

  • 我的程序中有这段代码... Log.i("LocalService", "Received start id " + startId + ": " + intent); id 最初为 1 是否正常。当服务在第二次 2 和第三次调用 3 时被调用。或者这可能是我的代码中的问题吗?我的问题是警报永远不会被取消。我不知道为什么。
【解决方案2】:

当用户按下按钮手动执行任何工作时,你应该让它一起取消你的闹钟,然后在你的日历开始时间对象中重新启动一个新的闹钟:

calendar.add(Calendar.DATE, 1);

这将使闹钟在您设置的任何时间开始,但直到下一个天。只要您以相同的间隔恢复闹钟,它就会恢复正常工作,并且不会在当天触发。

【讨论】:

    猜你喜欢
    • 2022-08-16
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多