0

Androidセンサーから5分ごとに値を取得する方法はありますか?

たとえば、温度の変化があるかどうかに関係なく、AMBIENT_TEMPERATURE センサーを 5 分ごとにポーリングする方法はありますか?

現在、呼び出されたときの値にしかアクセスできonSensorChanged(SensorEvent arg0)ないため、起動時から温度が変化していない場合、温度値にアクセスすることはできませんか?

ありがとう!=]

4

2 に答える 2

0

アラームサービスを5分ごとに繰り返す設定を試してみることができます。

私はセンサーを使ったことがありませんが、とにかくセンサーの値を一度取得する方法があると思います。

最初これを読んでから、これを読んで、ブロードキャストレシーバーでセンサー情報を更新できる繰り返しアラームを設定する方法を学ぶことをお勧めします。

これがお役に立てば幸いです=)

于 2012-09-07T21:14:16.737 に答える
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 に答える