我正在对Google Play定位服务进行调查
Google Play Location Samples
我正在LocationUpdatesForegroundService示例应用程序上尝试以下问题:关闭应用程序后,应用程序进程仍在运行。
重现它的步骤:
开启应用程式
按下“请求位置更新”按钮
按下设备主页按钮以在后台发送应用程序
关闭应用程式
我的期望是必须停止应用程序进程(及其所有线程),但并非必须如此。
关闭应用程序后,该应用程序进程仍在运行
调用后我关闭应用程序时会发生这种情况
startForeground(NOTIFICATION_ID, getNotification());
如何避免呢?
它看起来与用于收集位置的前台服务有关。
应用关闭时如何停止服务?
最佳答案
按照documentation,Service
是Android组件,即使关闭了应用程序,该组件也会在后台继续运行。
如果要在从最近的任务中删除应用程序(即应用程序终止)时停止服务,则必须使用android:stopWithTask="true"
中的AndroidMenifest.xml
明确关闭该服务。
例子
<service
android:name=".LocationUpdatesForegroundService"
android:stopWithTask="true" />