有没有办法从Android传感器获取数据,比如每5分钟一次?
例如,有没有一种方法可以让我每隔5分钟轮询一次AMBIENT_TEMPERATURE传感器,而不管温度有没有变化?
现在,我只能在onSensorChanged(SensorEvent arg0)被调用时访问它的值,所以如果温度在启动后没有变化,我永远不能访问温度值?
谢谢!=]
发布于 2012-09-08 05:09:31
在我的记忆中,每个onSensorChanged-event都会返回一个值。你可以设置一个线程,每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-method)。
发布于 2012-09-08 05:14:17
你可以尝试使用闹钟服务,每五分钟重复一次。
虽然我从来没有接触过传感器,但无论如何我认为有一些方法可以一次获得传感器的值。
我建议你先阅读this first,然后阅读this,以了解如何设置一个重复的闹钟,在它的广播接收器上可以更新你的传感器信息。
希望这会有帮助=)
https://stackoverflow.com/questions/12290512
复制相似问题