这是一个iOS问题。
我想做的是听内置计步器(CMPedometer),而应用程序在后台。当计步器的活动改变(从“步行”到“跑步”到“不移动”等),我想选择发送一个本地推送通知给用户的设备。
例如,应用程序位于后台。当我开始移动的时候,我收到一个推送通知,上面写着“你在移动!”当我停止移动时,我收到一个推送通知,上面写着:“你已经停止移动了!”
目前,我已经为我的背景模式设置了“位置更新”。该应用程序将在后台运行大约15分钟,跟踪位置和做我想做的事情(当计步器数据发生变化时触发推送通知)。但15分钟后,它就完全停止了。
在设备上我所描述的可能吗?如果是这样的话,15分钟后应用程序超时,我做错了什么?
很高兴提供更多的细节,但我不想超载这个已经很长的问题!
发布于 2015-01-22 14:53:44
当你的应用程序被挂起时,不可能得到实时的活动更新。
如果您想跟踪用户的活动,如步行、跑步等,请使用CMMotionActivityManager。
运动数据反映的是用户是否在行走、跑步、在车辆中行走,还是在一段时间内静止不动。
根据文档
在应用程序挂起时不传递更新,应用程序可以使用queryActivityStartingFromDate:toDate:toQueue:withHandler:从应用程序暂停时起获取活动。
因此,跟踪用户在后台的活动的最佳方法是使用后台获取,并将获取间隔设置为最小。
UIApplication.sharedApplication().setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)https://stackoverflow.com/questions/28072009
复制相似问题