现在我正在开发一个应用程序,它需要始终知道用户正在做什么活动(静止不动,跑步,走路等)。我发现使用CMMotionActivity可能是一个很好的方法。
除了一件事:当应用终止时,CMMotionActivityManager停止运行。首先,我尝试通过创建一个cronjob来解决这个问题,每隔n分钟发送一次远程静默通知,然后唤醒应用程序获取运动数据。然后我做了一些研究,发现无声通知不会唤醒应用程序。
经过一些研究,我发现使用Location和startMonitoringSignificantLocationChanges,当用户移动500米或更长时,应用程序将从终止状态唤醒。
然而,我相信我需要更多的数据,然后每500米一点。每5分钟更接近一点的东西会很好。但我得到的感觉是,即使用户静止了一整天,startMonitoringSignificantLocationChanges也不会更新。
所以我的问题简而言之是两部分:
我是否误解了startMonitoringSignificantLocationChanges?即使用户不移动,它是否会经常给我一个通知?
如果我没有误解重大变化,即使应用程序被终止,有没有办法每n分钟获取动态更新?
谢谢朋友们。