问题
即使应用程序不再位于前台,我也希望能够跟踪用户位置(例如,用户已切换到另一个应用程序或切换到主屏幕并锁定了他们的手机)。
用例是用户跟踪跑步。他们可以打开应用程序并在开始运行时按“开始”,然后切换或最小化应用程序(按主页按钮)并锁定屏幕。在跑步结束时,他们可以将应用程序调到前台并按下“停止”,然后应用程序会告诉他们跑步的距离。
问题
是否可以使用纯 React Native 在 iOS 和 Android 上跟踪背景地理定位?
有关地理定位的 React Native 文档 ( https://facebook.github.io/react-native/docs/geolocation ) 不是很清楚或详细。上面记录的链接避开了 iOS 上的背景地理定位(没有完全清楚),但没有提到 Android。
我最好使用 Expo 吗?
原文由 Grant 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新 2019 世博会 33.0.0:
Expo 首先弃用了他们的 SDK 32.0.0 以满足应用商店指南,但随后 在 SDK 33.0.0 中重新打开了它。
从那以后,他们让实现后台定位变得超级容易。使用我用来使后台地理定位工作的代码片段。
该代码就像一个魅力。需要注意的一件事是 您不能在 Expo App 中使用地理定位。但是, 您可以在独立构建中使用它。因此,如果您想使用后台地理定位,您必须使用此代码,然后执行
expo build:ios
并上传到应用商店,以便能够获取用户后台位置。此外,请注意,您 必须 包括
在
info.plist
app.json
--- 部分。