我一直在研究新的M7芯片的CMMotionActivityManager
,用于确定设备用户是否在走路、跑步、坐车等状态(请参阅苹果文档)。相比仅使用LocationManager
和加速度计数据来确定这些状态,这似乎是一个很大的进步。
然而,我注意到CMMotionActivityManager
没有包括“骑车”这个活动,这是令人失望的,并且几乎成为完全使用作为新活动管理器的交易破坏者。有没有其他人发现方便的方法来使用CMMotionActivityManager
并同时包括骑自行车,而不必重新整合CMLocationManager
+ 加速度计来测试骑自行车?
请注意,这也不包括类似火车等普通交通工具的选项。例如,我每天要在火车上通勤一个小时。汽车至少可以变得更加通用,类似于Moves使用“Transport”。
CMMotionActivity
仅定义了以下运动类型:
- 静止
- 步行
- 跑步
- 汽车
- 未知
来自苹果代码的有用注释,虽然不能解决问题,但很有帮助:
CMMotionActivity
基于设备运动的用户活动估计。
活动作为一组属性公开,这些属性不是互斥的。
例如,如果你在停在路口的汽车中,状态可能如下: 静止 = 是,步行 = 否,跑步 = 否,汽车 = 是
或者是一个移动的车辆,静止 = 否,步行 = 否,跑步 = 否, 汽车 = 是
设备也可以在运动中,但不是步行或坐车。
静止=否,行走=否,奔跑=否,汽车=否。注意,此情况下所有属性均为否。