在Android上检测重要的设备动作

时间:2014-07-04 05:41:45

标签: android motion-detection motionevent

我一直在试图弄清楚如何制作一个应用程序来检测设备是否已被移动了很多,不仅仅是震动。我试图检测一个距离,比如至少一英尺。阅读官方Android开发网站上的培训部分,我最好的猜测是我应该使用Significant Motion Sensor,但我找不到如何使用它的示例。我只是将“当前”位置存储在数组中,然后在调用Event时将其与onTrigger()的值数组进行比较吗?

或者我应该使用加速度计吗?其他一些传感器? LocationManager(那个是否足够准确?)?

1 个答案:

答案 0 :(得分:5)

基于重要运动传感器demo activity in ApiDemos,没有什么可做的。 triger传感器触发,values字段中没有任何有意义的数据(它只是一个元素的数组,根据我测试的内容总是1.0)并禁用自身。

所以,实际上没有什么可比的。事件被解雇了,那就是它。您只需要相信它符合您的定义"移动了大量的" :/

如果你想测量一英尺的距离,我很确定位置不够精确(因为它最多只能使用GPS) )。

对于加速度计数据,理论上可以计算距离它(加速度 - >速度 - >距离),但是它非常不准确。见this answer,基本上声称它不实用。