So lesen Sie die Herzfrequenz von Android Wear

Ich muss in diesem Moment die Herzfrequenz des Benutzers ablesen. Ich habe versucht, diesen Code zu verwenden, der sich in meiner Hauptaktivität im Wear-Projekt befindet.

public class MainActivity extends WearableActivity implements SensorEventListener {

    private static final String TAG = "MainActivity";
    private TextView mTextViewHeart;
    SensorManager mSensorManager;
    Sensor mHeartRateSensor;
    SensorEventListener sensorEventListener;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTextViewHeart = (TextView) findViewById(R.id.heart);
        mSensorManager = ((SensorManager) getSystemService(SENSOR_SERVICE));
        mHeartRateSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
        mSensorManager.registerListener(this, mHeartRateSensor, SensorManager.SENSOR_DELAY_NORMAL);
        Log.i(TAG, "LISTENER REGISTERED.");
        mTextViewHeart.setText("Something here");


        mSensorManager.registerListener(sensorEventListener, mHeartRateSensor, mSensorManager.SENSOR_DELAY_FASTEST);
    }


    public void onResume(){
        super.onResume();
    }

    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        Log.d(TAG, "onAccuracyChanged - accuracy: " + accuracy);
    }

    public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType() == Sensor.TYPE_HEART_RATE) {
            String msg = "" + (int)event.values[0];
            mTextViewHeart.setText(msg);
            Log.d(TAG, msg);
        }
        else
            Log.d(TAG, "Unknown sensor type");
    }

}

Dieser Code funktioniert einfach nicht und gibt mir die Fehlermeldung:

E/SensorManager﹕ sensor or listener is null

Es funktioniert einwandfrei, wenn ich etwas anderes als den Herzfrequenzsensor verwende.

Ich benutze

LG G4 mit Android API Level 23LG Urbane Uhr (die ich kenne hat einen Herzfrequenzsensor) mit Wear API Level 23

Danke für deine Hilfe

Antworten auf die Frage(8)

Ihre Antwort auf die Frage