【问题标题】:All scheduled notifications appear at once when restarting phone only on Android (Ionic framework)仅在 Android(Ionic 框架)上重新启动手机时,所有预定通知会立即显示
【发布时间】:2016-04-17 21:42:47
【问题描述】:

这是我的问题:例如,假设我有一个每周安排通知的功能。因此,在安装我的应用程序五周后,我会显示 5 条通知(每周一条)。然后,我重新启动手机(无论出于何种原因),在那五周内显示的所有通知都同时出现。我不明白为什么我重启手机时之前的计划通知会全部显示一次? (顺便说一句,我会在显示这些通知后取消它们)。这个问题只出现在ANDROID上,同样的应用在IOS上运行完美。那么,这些通知是怎么出现的呢?好像它们永远不会完全取消?我尝试了几种变体来避免这个问题,但它不想消失。有什么想法吗?

非常感谢!

PS:我正在使用此插件进行本地通知:katzer/cordova-plugin-local-notifications

【问题讨论】:

  • 只有在预定时间过去后,所有 5 个都同时出现吗?或者说例如你安排了5,之后立即重启设备,然后它们都出现了?
  • @NicRaboy 你好,Nic,它们只有在预定时间过去后才会出现。换句话说,如果预定的时间没有过去,我重新启动手机,什么都不会出现。事实上,如果我安排了 5 条通知,那么当设备重新启动时,只会显示已超过预定时间的通知。因此,如果对于 5 个预定通知,则仅通过其中 3 个的预定时间。然后,当我重新启动手机时,一次只会出现 3 条通知。
  • 我可能错了,但这听起来应该是预期的行为。当我的 Android 手机死机并在充电 12 小时后启动时,我最终会收到大量通知。一直觉得很正常。也许 iOS 只是做不同的事情。
  • 但是如果通知在设备关闭之前被取消,当你启动它时,通知不应该出现。我错了吗?
  • 好吧,我可以用另一种方式来表述问题:我希望我的通知在几秒钟后被取消,即使应用程序已关闭。我怎么能那样做?显然问题是通知从未取消,所以我如何以编程方式安排通知并说“30 秒后取消自己”?

标签: android cordova ionic-framework notifications localnotification


【解决方案1】:

我找到了答案。

iOS 会在触发后取消通知。安卓没有。因此,如果用户打开应用程序,假设您已安排通知在两天后出现,然后将其关闭而不重新打开,两天后他将按计划收到通知。但是,如果他从不重新打开该应用程序,则该通知将永远不会在 Android 上取消,并且每次您重新启动手机时该通知都会重新出现。要被取消,用户必须重新打开应用程序,以便您编写的用于取消通知的代码可以运行。这很烦人,因为通知的目的(至少在我的情况下)是允许用户在不打开应用程序的情况下获取信息。幸运的是,在 iO 上,通知会自行取消,因此可以完美运行。

感谢 Nic Raboy 的时间和帮助。

【讨论】:

  • 是的,Android 的通知可能有点奇怪。很高兴你得到它:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
相关资源
最近更新 更多