首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在后台收听CMPedometer并在不同的条件下发送本地推送通知吗?

我可以在后台收听CMPedometer并在不同的条件下发送本地推送通知吗?
EN

Stack Overflow用户
提问于 2015-01-21 16:21:59
回答 1查看 2.4K关注 0票数 3

这是一个iOS问题。

我想做的是听内置计步器(CMPedometer),而应用程序在后台。当计步器的活动改变(从“步行”到“跑步”到“不移动”等),我想选择发送一个本地推送通知给用户的设备。

例如,应用程序位于后台。当我开始移动的时候,我收到一个推送通知,上面写着“你在移动!”当我停止移动时,我收到一个推送通知,上面写着:“你已经停止移动了!”

目前,我已经为我的背景模式设置了“位置更新”。该应用程序将在后台运行大约15分钟,跟踪位置和做我想做的事情(当计步器数据发生变化时触发推送通知)。但15分钟后,它就完全停止了。

在设备上我所描述的可能吗?如果是这样的话,15分钟后应用程序超时,我做错了什么?

很高兴提供更多的细节,但我不想超载这个已经很长的问题!

EN

回答 1

Stack Overflow用户

发布于 2015-01-22 14:53:44

当你的应用程序被挂起时,不可能得到实时的活动更新。

如果您想跟踪用户的活动,如步行、跑步等,请使用CMMotionActivityManager

运动数据反映的是用户是否在行走、跑步、在车辆中行走,还是在一段时间内静止不动。

根据文档

在应用程序挂起时不传递更新,应用程序可以使用queryActivityStartingFromDate:toDate:toQueue:withHandler:从应用程序暂停时起获取活动。

因此,跟踪用户在后台的活动的最佳方法是使用后台获取,并将获取间隔设置为最小。

代码语言:javascript
复制
UIApplication.sharedApplication().setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28072009

复制
相关文章

相似问题

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