Как читать данные акселерометра в Сервисе с Android - PullRequest
5 голосов
/ 29 ноября 2010

Обычно в Android мы читаем данные акселерометра в «Activity», переопределяя функцию OnSensorChanged.

Мне любопытно, как мы можем сделать это в «Service».* Спасибо, Винсент

Ответы [ 2 ]

7 голосов
/ 29 ноября 2010

На самом деле OnSensorChanged(SensorEvent event) - это метод из интерфейса SensorEventListener .

Так что, если вы хотите сделать это в сервисе; вы создаете новый класс, который расширяет Service и реализует SensorEventListener.

1 голос
/ 25 ноября 2016

Вы можете сделать то же самое в Службе.

public class BGHndlr extends Handler implements SensorEventListener {

    public BGHndlr(Looper looper) {
        super(looper);
     }

     @Override
     public void handleMessage(Message msg) {
         oSensorManager.registerListener(this, oAcceleroMeter, SensorManager.SENSOR_DELAY_FASTEST);
     }

    @Override
    public void onSensorChanged(SensorEvent event) {
         // do something
    }

    @Override
     public void onAccuracyChanged(Sensor sensor, int i) {}
}
...