0

有没有办法每 5 分钟从 Android 传感器获取值?

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

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

谢谢!=]

4

2 回答 2

0

据我记得,传感器在每个onSensorChanged事件中都会返回一个值。您可以设置一个线程,每 5 分钟读取一次值。

编辑

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 方法)。

于 2012-09-07T21:09:31.397 回答
0

您可以尝试使用警报服务设置它每五分钟重复一次。

虽然我从未使用过传感器,但无论如何我认为有某种方法可以一次获得传感器值。

我建议您先阅读内容,然后再阅读内容以了解如何设置重复警报,该警报在其广播接收器上可以更新您的传感器信息。

希望这会有所帮助=)

于 2012-09-07T21:14:16.737 回答