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

Posted

技术标签:

【中文标题】关闭应用程序后,LocationUpdatesForegroundService 应用程序进程仍在运行【英文标题】:LocationUpdatesForegroundService app process is still running after closing app 【发布时间】:2020-01-03 16:57:19 【问题描述】:

我正在对 Google Play 定位服务进行一些调查 Google Play Location Samples

我在 LocationUpdatesForegroundService 示例应用程序上尝试以下问题:关闭应用程序后应用程序进程仍在运行。

重现它的步骤:

打开应用 按“请求位置更新”按钮 按下设备主页按钮以在后台发送应用程序 关闭应用

我的期望是应用程序进程(及其所有线程)必须停止,但事实并非如此。

关闭应用后应用进程仍在运行

当我在调用后关闭应用程序时会发生这种情况

startForeground(NOTIFICATION_ID, getNotification());

如何避免?

它看起来与用于收集位置的前台服务有关。 应用关闭时如何停止服务?

【问题讨论】:

因为即使应用程序在 android 中关闭,服务仍在后台继续运行。更多详情developer.android.com/guide/components/services 我该如何阻止它?应用关闭时怎么办? 在服务中使用 android:stopWithTask="true"。 现在可以正常使用了,谢谢 【参考方案1】:

根据documentation,Service 是 Android 组件,即使应用程序关闭,它也会在后台继续运行。

如果您想在应用程序从最近的任务中删除时停止服务(即应用程序终止),您必须在AndroidMenifest.xml 中使用android:stopWithTask="true" 来显式关闭服务。

例子,

<service
        android:name=".LocationUpdatesForegroundService"
        android:stopWithTask="true" />

【讨论】:

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

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

程序关闭后如何保存变量并加载它们? [关闭]

应用程序关闭后运行服务

SUBLIME TEXT3 运行TURTLE后,如何不自动关闭TURTLE的界面窗口

怎么让ios不自动关闭后台程序

WINDOWS7如何防止行应用程序强行关闭?