我有一个GPS应用程序,我想检测用户是否站着不动。使用Core Location可以解决这个问题,但有时候不准确,因为新的更新会移动并产生速度和运动的错觉。
所以,我想知道除此之外,我还可以使用Core Motion。这是一个好主意来检测运动,如行走,跑步,驾驶等,并知道他们什么时候不再做这个动作?或者,Core Motion仅用于小型移动,例如倾斜设备或将其抬到耳朵上?
答案 0 :(得分:1)
我想告诉其他访问此问题的人我学到了什么,以及我对这种方法的看法。
我一直在做自己的一些研究,以了解这是否可行,更重要的是,即使它是检测到的位置变化的电池消耗和准确度。但对于Android,this question在很久以前就被问过了。 The answer提供了this Google Tech Talk的链接。在23:20,演讲者谈到了实现这一目标的难度以及在结果中将达到的准确性。
尽管我必须意识到iPhone上传感器的电池消耗量比大多数Android手机要小一些,但我仍然认为这在准确性和电池消耗方面是一项代价高昂的事情。
答案 1 :(得分:0)
如果你将倾斜角度频率变化和GPS速度信息结合起来,你可以使用带有传感器读数的GPS来区分步行,跑步等等(当然,你需要做一些工作来获得这些信息,但这就是做到这一点的方法)。
答案 2 :(得分:0)
您正在讨论来自4种不同传感器的4种不同测量值(技术上超过4种但是......) -
在所有这些中,我认为只有Latitude&经度对你有用。基本上你所做的是使灵敏度(即传感器的更新速率)稍微放松一些。通过对此进行一些调整,您应该能够准确地判断一个人是站着还是移动。