应用程序关闭后运行服务

Posted

技术标签:

【中文标题】应用程序关闭后运行服务【英文标题】:Running service after application close 【发布时间】:2017-10-22 12:50:04 【问题描述】:

即使用户关闭了应用程序,我的应用程序也需要在后台运行服务。 但是,当我关闭我的应用程序时,服务停止并重新启动。因此,服务中的所有变量都将被重置。

在google上搜索后发现:

@Override
public int onStartCommand(Intent intent, int flags, int startId) 
    return START_STICKY;

但它不起作用。我的服务已重置。

【问题讨论】:

使用startForeground() 是的,但这需要至少 API 26 【参考方案1】:

您好,您需要考虑这样一个事实:如果您的应用程序以 API 级别 26 或更高级别为目标,则当应用程序本身不在前台时,系统会对运行后台服务施加限制。在大多数情况下,您的应用应该使用计划作业。您可以在此链接上阅读更多信息: Services

【讨论】:

好的,谢谢。那么即使用户关闭了应用程序,我怎样才能让我的服务保持活力呢? 那么这取决于你的服务的角色。您服务的目的是什么? 我的服务计算变量然后发送到广播中的一些活动变量【参考方案2】:

您是否将服务添加到 androidManifest.xml?

【讨论】:

是的,我已经在 Manifest 中添加了我的服务。我的服务运行但在我关闭我的应用程序时重置

以上是关于应用程序关闭后运行服务的主要内容,如果未能解决你的问题,请参考以下文章

解决Linux关闭终端(关闭SSH等)后运行的程序自动停止

解决Linux关闭终端(关闭SSH等)后运行的程序自动停止

关闭应用后服务不启动警报

关闭应用程序后,LocationUpdatesForegroundService 应用程序进程仍在运行

win10远程桌面断开后,所有的进程都会自动关闭,怎么设置让程序一直运行下去

服务中的 Xmpp 连接在其进程完成后关闭