关闭应用后 LocationUpdatesForegroundService 应用进程仍在 运行
LocationUpdatesForegroundService app process is still running after closing app
我正在调查 Google Play Location Service
Google Play Location Samples
我正在 LocationUpdatesForegroundService 示例应用程序上试验以下问题:关闭应用程序后,应用程序进程仍然 运行。
重现步骤:
- 打开应用
- 按下 "request location updates" 按钮
- 按设备主页按钮在后台发送应用程序
- 关闭应用程序
我的期望是应用程序进程(及其所有线程)必须停止,但实际上并没有。
关闭应用后应用进程还在运行
当我调用
后关闭应用程序时发生
startForeground(NOTIFICATION_ID, getNotification());
如何避免?
貌似跟前台采集位置服务有关。
如何在应用程序关闭时停止服务?
根据 documentation,Service
是 Android 组件,即使应用程序关闭,该组件 运行 仍会在后台继续运行。
如果你想在应用程序从最近的任务中删除时停止服务(即应用程序终止),你必须在 AndroidMenifest.xml
中使用 android:stopWithTask="true"
明确关闭服务。
例子,
<service
android:name=".LocationUpdatesForegroundService"
android:stopWithTask="true" />
我正在调查 Google Play Location Service Google Play Location Samples
我正在 LocationUpdatesForegroundService 示例应用程序上试验以下问题:关闭应用程序后,应用程序进程仍然 运行。
重现步骤:
- 打开应用
- 按下 "request location updates" 按钮
- 按设备主页按钮在后台发送应用程序
- 关闭应用程序
我的期望是应用程序进程(及其所有线程)必须停止,但实际上并没有。
关闭应用后应用进程还在运行
当我调用
后关闭应用程序时发生startForeground(NOTIFICATION_ID, getNotification());
如何避免?
貌似跟前台采集位置服务有关。 如何在应用程序关闭时停止服务?
根据 documentation,Service
是 Android 组件,即使应用程序关闭,该组件 运行 仍会在后台继续运行。
如果你想在应用程序从最近的任务中删除时停止服务(即应用程序终止),你必须在 AndroidMenifest.xml
中使用 android:stopWithTask="true"
明确关闭服务。
例子,
<service
android:name=".LocationUpdatesForegroundService"
android:stopWithTask="true" />