首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有原生react的情况下,是否可以在Android和/或iOS的后台任务中收集地理位置信息?

在没有原生react的情况下,是否可以在Android和/或iOS的后台任务中收集地理位置信息?
EN

Stack Overflow用户
提问于 2019-03-11 23:38:33
回答 1查看 138关注 0票数 1

即使手机被锁定,在react-native中是否可以执行后台任务来监控GPS位置(而不是在后台运行整个应用程序)?我想在手机处于某个位置时在屏幕上显示一些信息(通知)。

我需要在我的研究中声明一个项目的主题,但我不知道是否可以实现这个功能。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-12 00:12:56

当然是这样的。如果您只有一个给定的位置(或少于20个位置),最好使用CoreLocation的geofencing API!

您可以像这样设置一个地域:

代码语言:javascript
复制
if CLLocationManager.isMonitoringAvailable(for: CLCircularRegion.self) {
    // Register the region.
    let region = CLCircularRegion(
        center: center, 
        radius: maxDistance, identifier: identifier
    )
    region.notifyOnEntry = true

    locationManager.startMonitoring(for: region)
}

(假设您已经请求并检查了用户的位置权限)!

无论何时发生区域监控事件,您的应用程序都将在后台启动,因此您必须确保设置一个新的CLLocationManager,并为其提供一个代理来接收application(_application:didFinishLaunchingWithOptions)函数中的更新!

然后,可以使用委托回调来触发本地通知。

这里有一个小小的警告,如果用户为你的应用程序禁用了后台应用程序刷新,这将不起作用!

幸运的是,已经有一个react-native库允许您设置这些区域:https://github.com/martijndeh/react-native-region-monitor。不幸的是,我确实认为它会在收到通知时完全启动你的JavaScript应用程序(当然是在后台),但这不是一个太大的问题。

也可能有关于如何在安卓上实现这一点的GitHub的信息!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55105452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档