gpt4 book ai didi

android - 系统通知未在后台运行

转载 作者:行者123 更新时间:2023-11-29 22:21:19 26 4
gpt4 key购买 nike

我已经使用 Phonegap 开发了一个 Web 应用程序,它使用 Google-Feed API 读取跨域 Rss 提要并在有新提要可用时向用户发送系统通知。

我用过这个Phonegap System Notification Plugin用于创建推送通知。

这是 SystemNotificaton.java插件附带的。

这是 SystemNotification.js插件附带的文件,其中包含可以在您的 javascript 文件中使用的所有方法。

这是我的 notification.js javascript 文件是我创建了两个函数来读取两个单独的 Rss 提要 url,并且我使用 setIntervals 每 1 分钟调用一次函数。我还调用了 navigator.systemNotification.onBackground();相同的功能,所以当我的应用程序未激活时,此功能会在后台继续运行,并在出现新提要时向用户显示通知。

问题是应用程序启动后我会收到通知,然后当我关闭应用程序时我会收到更多通知,一两天后通知就停止了。我知道因为我使用的是 google-feed api,所以它不是实时的,但即使在两天后它仍然不起作用。似乎 onbackground 方法不起作用。谁能指出我在做什么错误。

最佳答案

我对 Phonegap 了解不多,但我对 Android 开发有一定的了解,在我看来,通知不是您的问题。 (顺便说一下,这些只是通知,而不是“推送”通知。它们完全是另一种野兽。)

我怀疑您的应用程序只是停止了,您没有任何设置来重新启动它。 Android 操作系统会出于各种原因终止任何后台应用程序。如果作为服务实现,操作系统应该在某个时候重新启动它,但这并不完全可靠。

基本上,您需要设置一个警报来照看您的服务并确保它保持 Activity 状态。如果这在 PhoneGap 中可行,我建议完全摆脱 setInterval,而只使用闹钟来唤醒您的应用程序并触发 RSS 轮询操作。这样做的好处是当设备进入休眠状态时它仍然可以工作。

进行一些快速搜索似乎表明 PhoneGap 没有访问 AlarmManager 的权限。或许可以通过插件来完成,但 PhoneGap 一般而言并不是一个好的后台服务框架。一个真正的原生应用程序在这种情况下会表现得更好。

关于android - 系统通知未在后台运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com