J'ai créé une application simple pour apprendre à utiliser des battements cardiaques du capteur avec un bouton et l'étiquette ici est mon code:capteur studio android fréquence cardiaque app
public class MainActivity extends AppCompatActivity implements SensorEventListener {
Button show;
TextView showHeartRate;
SensorManager sensorMgr;
Sensor heartRate;
String heartRateValue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
show = (Button) findViewById(R.id.button);
show.setOnClickListener(displayHeartRate);
showHeartRate = (TextView) findViewById(R.id.showHeartRate);
sensorMgr = (SensorManager)this.getSystemService(SENSOR_SERVICE);
heartRate = sensorMgr.getDefaultSensor(Sensor.TYPE_HEART_RATE);
}
View.OnClickListener displayHeartRate = new View.OnClickListener() {
@Override
public void onClick(View view) {
showHeartRate.setText(heartRateValue);
}
};
@Override
protected void onResume() {
super.onResume();
sensorMgr.registerListener(this,heartRate,SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void onPause() {
super.onPause();
sensorMgr.unregisterListener(this);
}
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
heartRateValue = Integer.toString(sensorEvent.sensor.getType());
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
ajouter au manifeste:
<uses-permission android:name="android.permission.BODY_SENSORS"/>
le problème est que le onSensorChanged() n'est pas appelé. Je vérifie beaucoup de solutions ici, mais je n'ai rien trouvé
j'attends comme 2 minutes en maintenant le doigt sur le capteur et me montrer nulle –
@Sahar Vanunu modifié ma réponse, s'il vous plaît jeter un oeil –
son encore nulle ... –