首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >采样Android传感器

采样Android传感器
EN

Stack Overflow用户
提问于 2012-09-06 06:10:33
回答 2查看 1.2K关注 0票数 0

有没有办法从Android传感器获取数据,比如每5分钟一次?

例如,有没有一种方法可以让我每隔5分钟轮询一次AMBIENT_TEMPERATURE传感器,而不管温度有没有变化?

现在,我只能在onSensorChanged(SensorEvent arg0)被调用时访问它的值,所以如果温度在启动后没有变化,我永远不能访问温度值?

谢谢!=]

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-08 05:09:31

在我的记忆中,每个onSensorChanged-event都会返回一个值。你可以设置一个线程,每5分钟读入一次值。

编辑

代码语言:javascript
复制
public class OrientationHandler implements SensorEventListener {
    private SensorManager sensorManager = null;
    private static float[] values = new float[3];

    public OrientationHandler(Context context) {
        sensorManager = (SensorManager) context
                        .getSystemService(Context.SENSOR_SERVICE);
        sensorManager.registerListener(this, sensorManager
                                       .getDefaultSensor(Sensor.TYPE_ORIENTATION),
                                       SensorManager.SENSOR_DELAY_FASTEST);
    }

    public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
            synchronized (this) {
                OrientationHandler.values = event.values;
            }
        }
    }
}

可以从类外部访问OrientationHandler.values (如果您自己编写了一个公共Getter-method)。

票数 0
EN

Stack Overflow用户

发布于 2012-09-08 05:14:17

你可以尝试使用闹钟服务,每五分钟重复一次。

虽然我从来没有接触过传感器,但无论如何我认为有一些方法可以一次获得传感器的值。

我建议你先阅读this first,然后阅读this,以了解如何设置一个重复的闹钟,在它的广播接收器上可以更新你的传感器信息。

希望这会有帮助=)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12290512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档