【问题标题】:Detecting Significant Device Motion on Android在 Android 上检测重要的设备运动
【发布时间】:2014-08-25 09:15:43
【问题描述】:

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

或者我应该改用加速度计吗?其他传感器? LocationManager(这个够准确吗?)?

【问题讨论】:

    标签: android motion-detection motionevent


    【解决方案1】:

    基于显着运动传感器demo activity in ApiDemos,没有什么可做的。触发传感器触发,values 字段中不包含任何有意义的数据(它是一个只有一个元素的数组,根据我的测试始终为 1.0)并自行禁用。

    所以,没有什么可以实际比较的。事件触发了,就是这样。您只需要相信它符合您对“大量移动”的定义:/

    如果您想以英尺为单位测量距离,我很确定 位置 不够精确(因为它最多基于 GPS)。

    至于 Accelerometer 数据,理论上您可以计算距它的距离(加速度 -> 速度 -> 距离),但它非常不准确。请参阅this answer,它基本上声称它不实用。

    【讨论】:

    • 那我就玩一下,看看对我来说够不够用。或者也许有人会在那之前提出不同的解决方案。
    • 是否有可能以其他方式检测运动(以及从睡眠中唤醒)?我有没有“显着运动”传感器的联发科设备(根据传感器检测到 apk),但是,它具有内置功能,可以在运动时打开屏幕。怎么可能?
    猜你喜欢
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    相关资源
    最近更新 更多