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

Arg*_*ent 6 android motion-detection motionevent

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

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

mat*_*ash 5

基于ApiDemos中的重要运动传感器演示活动,没有太多事情要做.triger传感器触发,在values字段中不包含任何有意义的数据(它是一个只有一个元素的数组,根据我测试的内容总是1.0)并禁用它自己.

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

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

至于Accelerometer数据,理论上你可以计算它的距离(加速度 - >速度 - >距离)但是它非常不准确.看到这个答案,基本上声称它不实用.