使用 GPS 在后台运行的应用程序以及如何停止它

Posted

技术标签:

【中文标题】使用 GPS 在后台运行的应用程序以及如何停止它【英文标题】:App working in the background with GPS and how to stop it 【发布时间】:2012-09-05 20:11:52 【问题描述】:

我知道,为了让应用程序能够继续在后台运行,它的 info.plist 必须包含诸如 UIBackgroundModes 之类的内容,其值为“location”(例如),以便在后台接收更新。

我想做的是一个应用程序,它将继续以最大精度更新用户位置,每 30 秒或更长时间将其坐标发送到网站。所有这些都在后台进行。

首先我想知道这是否可行,如果可以,有没有办法让用户通过按钮完全停止应用程序?我的意思是,如果用户打开应用程序然后按主页键,应用程序将在后台继续运行。但是当他想停止它时,他应该重新打开它,然后按下一个“停止按钮”,这将删除后台功能。

如果所有这些都是可能的,我可以得到一些指示吗?不需要代码,只需要获取更多信息的地方。

谢谢。

【问题讨论】:

【参考方案1】:

你基本上回答了你自己的问题:

info.plist 必须包含诸如 UIBackgroundModes 之类的内容,其值为“位置”(例如),以便在后台接收更新

如果这还不够好,您可以通过在 Info.plist 中为 UIApplicationExitsOnSuspend 键设置布尔值“YES”,让操作系统在用户按下 Home 按钮时终止您的应用。

【讨论】:

是否可以从应用程序内部以编程方式更改 info.plist?

以上是关于使用 GPS 在后台运行的应用程序以及如何停止它的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 GPS 在后台 android Pie 中自动关闭?

wp8后台gps追踪器停止工作

如果应用程序正在启动,如何停止后台任务?

应用程序空闲时如何在android中停止GPS更新?

让我的活动在后台运行以收集 gps [重复]

WatchOS 4 未收到后台 GPS 更新