use*_*123 10 react-native expo
我似乎在 Expo 文档或 React Native 文档中找不到任何支持文档来说明这是否可行,所以我想我会在这里问。
我正在创建一个应用程序,需要定期获取设备的位置,无论该应用程序是在前台、后台,但最重要的是即使它被杀死。即使一小时几次也可以。
Android 和 iOS 都支持这种行为吗?如果是这样,有人可以为我指明正确的方向,或者提供我需要在 Expo/React Native(最好是在 Expo)中使用的类/API,这将允许我定期获取设备的位置,即使应用程序被杀了?
谢谢你!
一般来说,是的,应该是可以的。
在 Android 上,这通常可以使用广播接收器来实现(并查看有关从 API 28 获取用户位置的信息)。
在 iOS 上,这可以使用标准位置服务来实现(具体请参阅“在后台获取位置事件”部分)。
关注 React Native,然后再次关注 Expo,最近有一篇文章讨论了这一点:
2020年使用react-native + Expo在后台跟踪位置的最佳方式。然而,那里的评论表明它并不能始终如一地工作。
因此,由于我知道您并不特别需要使用 Expo(您只是说“理想情况下在 Expo” :),因此您可以尝试遵循此 React Native 教程(2021 年 6 月):React Native 后台位置(后台和终止的应用程序)(它用途react-native-location库)。