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 23Danke für deine Hilfe