有没有办法让Android传感器的值每5分钟一次?
例如,有没有一种方法可以每隔5分钟轮询一次AMBIENT_TEMPERATURE传感器,无论温度是否有变化?
现在,我只能在调用时访问onSensorChanged(SensorEvent arg0)
中的值,所以如果温度没有从启动变化,我永远无法访问温度值?
谢谢! =]
答案 0 :(得分: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方法)。
答案 1 :(得分:0)
您可以尝试使用闹钟服务,每五分钟重复一次。
我从未使用传感器,但无论如何我认为有一些方法可以获得传感器值一次。
我建议您阅读this first然后this,了解如何设置重复闹钟,广播接收器可以更新您的传感器信息。
希望这有助于=)