像StackOverflow应用程序一样在后台保持通知服务

3
我有一个服务,用于监控服务器的变化。当我打开应用程序并只是按下主页按钮离开时,一切正常。但是,当我从“最近使用的应用”视图中杀死该应用程序时,我就不再收到任何通知了。我知道有一种方法可以使用startForeground。但是那样我就必须显示通知。但是,stackoverflow应用程序是如何工作的呢?没有通知,也没有在android帐户管理器或任何其他地方的条目。但是,即使没有启动它并且没有将其保留在最近的视图中,我也会收到新答案的通知。它是如何工作的?

2
@Zoker,你可以使用OneSignal来实现免费的推送通知服务。他们使用推送通知技术。你需要订阅任何频道才能像“Stackoverflow”应用程序一样接收通知。另外,我不确定但也许你需要STICKY_SERVICE服务差异 - Yasin Kaçmaz
@Zoker 对不起,第二条评论无法编辑第一条。请查看 OneSignal 的 Android 指南。完成后,您将能够向已订阅的 Android 客户端发送推送通知。但我认为您需要创建一个 Webservice。然后您也可以从 Webservice 发送通知。 - Yasin Kaçmaz
OneSignal比Firebase通知模块更好吗? - Zoker
@Zoker OneSignal 是完全免费的,但您需要创建一个 Webservice 来进行通知等操作。在 Firebase 中,您可以使用 FCM 来替代 GCM。您可以在 Firebase 上免费开始使用,但如果您的应用程序增长,您需要更改您的计划。您可以查看 Firebase 定价 - Yasin Kaçmaz
1
@Zoker,如果你进入定价页面,你会看到这样的描述:“为业余爱好者提供慷慨的限制”适用于免费账户。是的,你可以使用Firebase。它有很多优点。你可以查看用户数量、登录和注册用户、推送通知等。 - Yasin Kaçmaz
显示剩余2条评论
1个回答

2

尝试在另一个进程中启动服务。这样,即使您通过“最近使用的应用程序”杀死了您的应用程序,在其中运行服务的其他进程将继续运行。此外,在服务的onStartCommand中,返回START_STICKY。这将告诉操作系统,如果出于任何原因需要关闭服务,请在有足够资源时再次运行它。

很抱歉我没有足够的声望将其放置为评论。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接