我正在对Google Play定位服务进行一些调查 谷歌播放位置示例
我正在位置更新前台服务示例应用程序上尝试以下问题:关闭应用程序后应用程序进程仍在运行。
重现它的步骤:
- 打开应用
- 按"请求位置更新"按钮
- 按设备主页按钮在后台发送应用程序
- 关闭应用
我的期望是应用程序进程(及其所有线程(必须停止,但它没有。
关闭应用后,应用进程仍在运行
当我在调用后关闭应用程序时,就会发生这种情况
startForeground(NOTIFICATION_ID, getNotification());
如何避免它?
它看起来与用于收集位置的前台服务相关。 如何在应用程序关闭时停止服务?
根据文档,Service
是Android组件,即使应用程序关闭,它也会在后台继续运行。
如果要在从最近的任务中删除应用程序(即应用程序终止(时停止服务,则必须在AndroidMenifest.xml
中使用android:stopWithTask="true"
来显式关闭服务。
例
<service
android:name=".LocationUpdatesForegroundService"
android:stopWithTask="true" />