【问题标题】:Set interval for the christocracy cordova-plugin-background plugin设置 christocracy cordova-plugin-background 插件的时间间隔
【发布时间】:2014-07-31 20:18:57
【问题描述】:

我想为 cordova 地理位置后台插件设置间隔,以每 5 或 10 分钟向服务器发送一次更新。 我阅读了整个文档,但没有成功。任何人都知道如何设置这个插件的间隔

https://github.com/christocracy/cordova-plugin-background-geolocation/blob/37f2cd9f6be82ca8ea3046c246b1866d4a669f06/README.md

【问题讨论】:

    标签: cordova cordova-plugins


    【解决方案1】:

    阿什

    先分析

    在阅读文档并浏览源代码后,我认为您想要的那种行为不是由插件实现的。这里有以下参数(见示例):

    • 期望精度:10
    • 固定半径:20
    • 距离过滤器:30

    例如对于iOS(Android必须相同,参见sources and Android doc),使用这些参数,一旦满足条件,您将获得导航事件,也就是说在这个例子中,当距离上一个事件超过30(米)。

    见苹果doc:

    距离过滤器

    设备必须移动的最小距离(以米为单位) 在生成更新事件之前水平放置。

    所以如果你需要定期获取事件,那就不好了。

    寻找解决方案

    我检查了这个问题并找到了一些结果:在 iOS(没有检查 Android)中,似乎有可能根据超时获得定期更新。看到这个答案:https://stackoverflow.com/a/17410548/3136339。 它使用了一种名为 allowDeferredLocationUpdatesUntilTraveled (doc) 的方法:

    allowDeferredLocationUpdatesUntilTraveled:timeout:

    要求位置经理推迟位置更新的交付 直到满足指定的条件。

    超时

    The amount of time (in seconds) from the current time that must pass before event delivery resumes.
    

    总结一下

    我认为这是可能的(至少对于 iOS 而言),但您必须深入了解您找到的插件,以通过添加参数来实现此用例。如果你做这项工作,你应该在 github 上为其他用户升级插件;-)

    【讨论】:

    • 您必须更改插件本机调用才能使用此功能。您可以在插件接口和本机代码之间添加一个参数供您使用,以启用/禁用此功能,例如它们传递 distanceFilter
    猜你喜欢
    • 2016-05-24
    • 2021-06-14
    • 1970-01-01
    • 2018-12-05
    • 2020-06-21
    • 2022-06-11
    • 2014-10-03
    • 1970-01-01
    • 2018-06-26
    相关资源
    最近更新 更多