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

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

重现它的步骤:


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


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

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

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

startForeground(NOTIFICATION_ID, getNotification());


如何避免呢?

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

最佳答案

按照documentationService是Android组件,即使关闭了应用程序,该组件也会在后台继续运行。

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

例子

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

07-27 18:50