Android 延迟通知

2024-03-24

我正在尝试使用 Android 的通知管理器创建通知,但是,诀窍是我希望通知在未来 30 天后显示。在我的代码中我正在这样做:

Intent notificationIntent = new Intent(this, MyClass.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
long when = System.currentTimeMillis() + (30 * 24 * 3600 * 1000);
Notification notification = new Notification(R.drawable.some_image, "A title", when);
notification.setLatestEventInfo(getApplicationContext(), "You're late", "Some description", contentIntent);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.notify(NOTIFY_ATTEND_ID, notification);

但是,通知仍然会立即显示。据我所知,通知构造函数的“when”参数仅用于对 StatusBar 中的通知进行排序。有没有办法让通知在未来的日期/时间显示?提前致谢。


有没有办法让通知在未来的日期/时间显示?

No.

正如法尔马里建议的那样,您需要自己处理这个问题,尽管我不同意他的方法。您将需要使用AlarmManager。然而,我怀疑AlarmManager有效期为 30 天,不过您可以尝试一下。您可能需要使用AlarmManager对于每日/每周任务,通过单独的警报安排当天/每周的通知。您还需要在重新启动时重新构建警报名册,因为它们会被擦除,正如法尔马里建议的那样。

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

Android 延迟通知 的相关文章

随机推荐

  • 绝对导入:React 和 Typescript

    背景 我有一个使用引导的 React 应用程序create react app和打字稿 随着应用程序的增长 goal 我想实现绝对导入 我正在使用 VS Code Visual Studio Code 只需很少的配置 我就可以让 TS 和
  • template-id 与任何模板声明都不匹配

    我遇到了令人沮丧的编译器错误 我似乎无法解决 这与模板专业化有关 但我看不出有什么问题 include thread lock guard inl 23 error template id lock guard lt gt for thre
  • 如何在 Sass 中强制 CSS 变量为整数?

    如果这是一个简单的问题 请原谅我 但我正在 CodePen 上解决这个问题 并且不知道发生了什么 我有代码 root ile 10 for i from 0 to var ile 问题是 Codepen 声称 var ile 不是整数 嗯
  • Swift 3 本地通知未触发

    我有以下设置 并且根本没有通知被触发 基于堆栈上的其他类似问题 我为每个请求添加了唯一标识符 并将正文添加到了内容中 我有这个请求用户许可的功能 func sendIntNotifications 1 Request permission
  • 替换具有错误高程值的片段

    你好 堆栈溢出 我还有另一个片段问题 我使用的是 android app Fragment 不支持片段 我正在尝试替换一个片段 但这并不像使用那么简单 fragmentTransaction replace containerId newF
  • Akka 的语言和产品替代品是什么?

    现在我正在看游戏框架 https www playframework com 并且非常喜欢它 Play 中提供的功能中最受宣传的部分之一是Akka http akka io 为了更好地理解 Akka 以及如何正确使用它 您能告诉我其他语言或
  • 无法安装 libc6 软件包

    esrsank PG04954 sudo apt get install libc6 i386 Reading package lists Done Building dependency tree Reading state inform
  • getExternalCacheDir() 清除数据后返回 null

    我有一个简单的应用程序 可以访问数据并将数据写入外部存储 一切正常 直到我进入 设置 gt 应用程序 gt 应用程序信息 并通过 清除数据 按钮清除数据 然后每次调用getExternalCacheDir 开始返回 null 我一直在运行
  • 当尝试获取应用程序方向时,“statusBarOrientation”在 iOS 13.0 中已被弃用

    简单地说 我依靠以下代码来提供应用程序的方向 在应用程序中使用它有几个原因 根据 UX 规范 stackview 的布局是根据 iPad 的方向设置的 横向时为水平 纵向时为垂直 在上一项的基础上 stackview 被放置在屏幕的左侧 纵
  • Visual Studio 2017 重构不适用于 F#

    我有项目在F 我正在尝试VisualStudio2017 我尝试重构代码并使用内联 但此菜单项不可用 另外当我点击Rename什么都没发生 为什么不可用 如何强制refactor操作才能工作 let blobToBlobWithInfo b
  • MySQL 有没有办法将 IN 和 LIKE 结合起来?

    我目前正在运行这样的查询 SELECT FROM email WHERE email address LIKE ajones OR email address LIKE bsmith OR email address LIKE cjohns
  • 使用 Ruby 生成 Gmail IMAP 访问的 SASL XOAUTH2 客户端响应

    我正在尝试使用 Ruby 中的 XOAUTH2 通过 IMAP 访问我的 Gmail 电子邮件 我已通过使用 OAuth 2 0 进行身份验证 成功生成了访问令牌 和刷新令牌 oauth2 https github com intridea
  • 如何在 R 中聚合关闭时间事件

    我需要能够包含事件的数据帧 并输出运行的开始 结束和计数 其中运行是事件一起小于指定时间段的情况 data frame 行已经按时间排序 e g library lubridate ts lt c 2016 10 28 19 21 19 2
  • (节点:11684)[DEP0062] 弃用警告:`node --inspect --debug-brk` 已弃用。请改用“node --inspect-brk”

    自从升级 NodeJs 以来 我从 Visual Studio 2017 运行 Nodejs 时收到此错误 断点也不起作用 有任何解决这个问题的方法吗 笔记 VS版本是15 5 6 NodeJS 版本 8 9 4 我遇到了同样的问题 以下内
  • 获取重载静态函数的地址[重复]

    这个问题在这里已经有答案了 可能的重复 如何指定指向重载函数的指针 https stackoverflow com questions 2942426 how to specify a pointer to an overloaded fu
  • 验证 Docker 容器中运行的 ubuntu 版本

    我在 Windows 8 1 上安装了 Docker Toolbox 并且正在创建基于 ubuntu latest 应该是 16 04 的映像 我想确保我的应用程序确实在 16 04 上运行 这是我的 Dockerfile FROM ubu
  • 在 HTML5 应用程序中使用 XML 文件中的数据?

    我有一些 XML 文件 当前用于将数据加载到 Adob e Flex 应用程序中 我正在尝试制作该应用程序的 HTML5 版本 并且我需要将相同的数据加载到 html 应用程序 中 以便我可以像在 Flex 中一样使用和操作 我已经搜索过
  • 无法使用 System.XML.Linq

    我正在开发一个使用 Mono for Android 的项目 在阅读了 Xamarin 的跨平台文档后 我将数据层放在一个单独的项目中 打算将其移动到我的 Mono for Android 项目 然后将这些文件链接到我的 Mono Touc
  • prop 类型在 React 应用程序中不起作用

    我正在尝试在我的react redux应用程序中使用proptypes 但它不起作用 或者我做错了什么 这是代码示例的结尾 LoginPage propTypes login form PropTypes string function m
  • Android 延迟通知

    我正在尝试使用 Android 的通知管理器创建通知 但是 诀窍是我希望通知在未来 30 天后显示 在我的代码中我正在这样做 Intent notificationIntent new Intent this MyClass class P