Android:AlarmManager 在过去的时间触发

2023-12-21

这是我的警报管理器代码:

Intent intent=new Intent(getBaseContext(),AlarmReciever.class);
intent.setAction("com.example.projectx.ACTION");

PendingIntent pendingIntent=PendingIntent.getBroadcast(this,12345, intent,PendingIntent.FLAG_CANCEL_CURRENT);

AlarmManager alarmManager=(AlarmManager)getSystemService(Activity.ALARM_SERVICE);

alarmManager.set(AlarmManager.RTC_WAKEUP,targetCal.getTimeInMillis(),pendingIntent);

如果我选择在未来的一小时/分钟触发警报,则该代码效果很好。但是,如果我选择过去的一小时/分钟,当我单击“设置闹钟”时,它会立即启动。

Example:

  • 现在是 15:00,我将闹钟设置为 15:45,闹钟在 15:45 响起,一切正常

  • 现在是15:00,我把闹钟设置为14:30,只要我点击“设置闹钟”,闹钟就响了!

我的时间选择器始终设置为 24 小时模式。这会是一个问题吗?

谢谢你!


当然可以...它本来就是这样工作的。
Android 识别出时间已经过去,因此即使已经晚了,它也会发出警报。

您可以确保闹钟设置的时间晚于当前时间。 只需计算一下这个差异:

int diff = Calendar.getInstance().getTimeInMilis() - targetCal.getTimeInMillis();

如果 diff 大于 0,则在日历中添加一天 (targetCal)
现在,您设备的时间将为earlier(而不是later)比下一个预定的闹钟时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:AlarmManager 在过去的时间触发 的相关文章

  • onBeaconServiceConnect 未调用

    和以前一样 我使用 Android Beacon 库 它已经工作了 我可以通过 BLE 低功耗蓝牙找到信标 但是现在 更新到最新版本的库后 现在方法onBeaconServiceConnect 不再跑了 请告诉我我需要做什么才能让它发挥作用
  • Android 上的 SVG 支持

    Android 支持 SVG 吗 有什么例子吗 最完整的答案是这样的 Android 2 x 默认浏览器本身不支持 SVG Android 3 默认浏览器支持 SVG 要将 SVG 支持添加到 2 x 版本的平台 您有两个基本选择 安装功能
  • 从 Android 代码设置的 SECRET_CODE

    我知道如何使用清单文件中的秘密代码 它与此源代码配合良好
  • 安卓定位不准确

    我正在尝试获取当前用户的位置 我试图重构我的代码以获得更好的结果 但我只是不断得到关于准确度的荒谬位置 它在 900 600 米之间 如何才能得到更好的结果 使其精度达到50m以内 这是我的代码 package com agam mapsl
  • 如何解决 Firebase AuthUi 中无法找到显式活动?

    使用 firebase UI 时 我无法找到显式活动类 com firebase ui auth KickoffActivity protected void onCreate Bundle savedInstanceState super
  • Android Library项目使用gradle在命令行编译时无法导入另一个库项目的R类

    我的 android 项目有这样的结构 ProjectDir settings gradle MyApp depends on LibraryA and LibraryB gt build gradle gt All the other a
  • 如何在android中设置权限WRITE_SECURE_SETTINGS? [复制]

    这个问题在这里已经有答案了 我正在尝试启用 4 0 以上的辅助功能服务设置 但它显示异常 即 引起原因 java lang SecurityException 权限拒绝 写入安全设置需要 android permission WRITE S
  • android EditText 输入类型用于 StreetNumber 字段

    我试图在地址对话框的 streetNumber 字段中选择正确的 inputType 我想先显示数字键盘 然后让用户输入字母字符 对于一些非常特殊的情况 更接近这个的是 inputType datetime 但这不允许输入字母字符 那么如何
  • 如何在手机缓存中保存用户名和密码

    我有一个用户登录应用程序 它需要用户的电子邮件和密码 我想将电子邮件和密码保存在手机缓存中 以便用户不必再次输入 有什么办法可以将数据保存在Android缓存中吗 我认为你需要使用SharedPreference用于在设备中使用应用程序时保
  • Android 服务是否有办法检测设备何时锁定?

    我有一个 Android 服务 我希望在设备锁定时执行操作 我想澄清一下 我对屏幕开 关状态不感兴趣 我知道如何使用带有 Intent ACTION USER PRESENT 和 KeyguardManager inKeyguardRest
  • Android 应用程序中的 Eszett (ß)

    我的 res layout activity 文件中的德语 字符在我的应用程序中自动转换为 ss 即使我将语言和键盘设置为德语 它仍然不会显示 Android 中可以显示 吗 edit
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • Android:滚动 Horizo​​ntalScrollView 时如何禁用 ScrollView 的垂直滚动?

    我正在开发一个带有带有 ScrollView 的 Activity 的 Android 应用程序 其中包含 Horizo ntalScrollView 等内容 当我触摸 Horizo ntalScrollView 时 我想禁用外部 Scro
  • Android 相机未保存在特定文件夹 [MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA]

    当我在 Intent 中使用 MediaStore INTENT ACTION STILL IMAGE CAMERA 时遇到问题 相机正常启动 但它不会将文件保存在我的特定文件夹 photo 中 但是当我使用 MediaStore ACTI
  • 在 Android 中调整可绘制对象的大小

    我正在为进度对话框设置一个可绘制对象 pbarDialog 但我的问题是我想每次调整可绘制的大小 但不知道如何调整 这是一些代码 Handler progressHandler new Handler public void handleM
  • Android 后台服务示例,具有交互式调用方法

    我不是 Android 方面的专家 我正在寻找一个 Android 应用程序的示例 该应用程序使用一个服务 其中有真正的功能方法 或者换句话说 一个服务可以用来做什么 我们什么时候需要它 超越简单的东西服务举例 我确信您渴望获得一些工作代码
  • 按钮 - 单击时更改背景颜色

    我的活动中有 8 个按钮 我正在寻找的是 按钮具有默认背景 单击按钮时 背景颜色应更改为其他颜色 这部分非常简单 但是 当我单击任何其他按钮时 第一个按钮的背景颜色应该变回默认颜色 我知道这将使用 选择器状态 来完成 但我不太确定如何实现它
  • 如何在android asynctask中使用inputstream作为参数?

    我正在制作一个 Android 应用程序来跟踪股票详细信息 我将通过 csv 雅虎财经 检索数据 据我所知 在android 4 0中 网络连接无法在主线程上完成 因此 我将使用 asynctask 来建立连接 但是 我在参数方面遇到了一些
  • Android:监听状态栏通知

    有没有办法在状态栏被下拉时监听通知 1 用于检测状态栏变化 您可以注册一个监听器来获取系统UI可见性变化的通知 因此 要在您的活动中注册侦听器 Detecting if the user swipe from the top down to
  • Android studio - 如何查找哪个库正在使用危险权限?

    我正在尝试将 apk 上传到 google play 商店 但令我惊讶的是 我正在使用以下权限 Your APK is using permissions that require a privacy policy android perm

随机推荐

  • PHP 中的正则表达式帮助(8 个十六进制字符后跟下划线)

    我想验证我的输入是否以 8 个十六进制字符开头 后跟下划线 后跟任意数量的具有任意值的字符 我目前使用以下正则表达式 preg match 0 9A Fa f 8 value 但这个表达式不能满足我的需求 因为它的行为如下 Result 1
  • 在 Mac OS X Lion 上启用 Xdebug

    我一直在尝试为 Mac OS X Lion 启用 Xdebug 但无法使其工作 这应该是非常简单的 但它对我来说不起作用 这些是我采取的步骤 1 取消注释 php ini 文件的这一行 zend extension usr lib php
  • 在 Airflow 2.0 中运行多个 Athena 查询

    我正在尝试创建一个 DAG 其中一项任务执行athena查询使用boto3 它适用于一个查询 但是当我尝试运行多个 athena 查询时 我遇到了问题 这个问题可以通过以下方式解决 如果一个人经过this https www ilkkape
  • gcc 用于解析代码

    我想知道如何使用 GCC 作为库来解析我的程序的 C C Java Objective C Ada 代码 我想绕过预处理并为用户编写的所有函数添加前缀 My 像这样Print 变成MyPrint 我也希望用变量来做到这一点 你可以看这里 h
  • 如何使用 GraphicsMagick Nodejs 将一种颜色替换为另一种颜色

    我有一张黑色背景的图像 我想将其更改为白色背景 在 Nodejs 中使用 GraphicsMagick 可以实现吗 我试过gm test png fill white 但这对我不起作用 我做了一些搜索 发现有一个转换命令 但不确定是否有等效
  • 使用 JavaScript 对象更改 element.style

    首先 这个问题有很多重复 但这些答案并没有给出更深入的见解 Q1 为什么结果是 200 0 考虑这个片段 var el document querySelector r console log First el offsetHeight e
  • 使用 python API 将视频上传到 Youtube 并将其设置为不公开

    我正在使用python 客户端库 http code google com p gdata python client 将视频上传到 youtube 我需要将其隐私设置为不公开 但是API page http code google com
  • 发送 JSON 数组 RETROFIT 2 (Android)

    我是新手 知道这个问题有很多帖子 但我找不到答案 因此 我需要使用 Retrofit2 和请求 PATCH 来升级用户及其议程 但是 我不知道如何使用 Retrofit2 做到这一点 即使我的研究 没有任何作用 你能帮我吗 谢谢提前 D 这
  • 以编程方式创建饼图[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 如何以编程方式从 java 生成饼图 我有一些由程序处理的数据 然后我想创建一个包含饼图的图像文件 P
  • 超时已过期。从池中获取连接之前超时时间已过。 。例外

    出现异常 超时已过 从池中获取连接之前超时时间已过 发生这种情况的原因可能是所有池连接都在使用中并且已达到最大池大小 code HotelDealsDataClassesDataContext hotelDealsDataContext D
  • 如何添加多个悬停工具而不在工具栏中显示多个图标?

    遵循示例here https github com bokeh bokeh blob 16e87ed63ca1aecaa42e93293f32d936685dcd3e sphinx source docs user guide exampl
  • 如何在 Flutter/Dart 中请求短信权限?

    我在用着权限处理程序 https pub dev packages permission handler请求视频和音频 但我无法让它请求发送短信的权限 我不知道这是否是我手机设置 我手机 摩托罗拉 Moto X4 XT1900 1 我手机操
  • 在 Ruby 中列出 attr_accessor 的最快/单行方法?

    列出定义的所有方法的最短的单行方法是什么attr accessor 如果我有课的话我想做到这一点MyBaseClass 任何扩展它的东西 我都可以得到attr accessor是在子类中定义的 像这样的事情 class MyBaseClas
  • 在 Grails 中翻译 HTML 选择元素

    认为这会更容易 想象一下
  • 插入/拔出耳机时 SKAudioNode() 崩溃

    我正在使用一个SKAudioNode 在我的游戏中播放背景音乐 我有播放 暂停功能 在插入耳机之前一切正常 根本没有声音 当我调用暂停 播放函数时 出现此错误 AVAudioPlayerNode mm 333 开始 所需条件为假 engin
  • Xcode:无法获取进程的任务

    我已经在使用 Xcode 4 的 iPhone 上以发布模式运行了我的应用程序 一切都很顺利 直到我切换到模拟器并切换回 iPhone 切换回来后 该应用程序在 iPhone 上启动 但主屏幕立即显示 在 Xcode 中我得到 failed
  • objectid 的 mongodb 部分最有可能是唯一的

    在我的应用程序中 我让 mongo 通过其 ObjectId 方法生成订单 id 但在用户测试中 我们担心订单 ID 会让人感到 恐吓 即如果您需要通过电话与某人讨论您的订单 那么读出 24 个字母数字字符有点乏味 同时 我真的不想存储两个
  • 简单的PHP模板解析

    我想创建一个简单的 PHP 类 用于在 PHP 中解析基本的 HTML 电子邮件模板 非常基本 将 PHP 数组传递到一个函数中 该函数有一个包含带有占位符的电子邮件模板 HTML 的变量 var name PHP 数组的键将是模板中的变量
  • java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration

    我正在尝试在 Eclipse 中使用 Hibernate 进行初始设置 同时使用 Tomcat 进行部署 我遇到了以下问题 java lang ClassNotFoundException org hibernate cfg Configu
  • Android:AlarmManager 在过去的时间触发

    这是我的警报管理器代码 Intent intent new Intent getBaseContext AlarmReciever class intent setAction com example projectx ACTION Pen