Appearance
Respiration Rate
The Respiration Rate value is sent both as an instantaneous value during the measurement and as part of the final results.
The application can receive the Respiration Rate result by implementing VitalSignsListener:
Kotlin
override fun onVitalSign(vitalSign: VitalSign) {
runOnUiThread {
if (vitalSign.type == VitalSignTypes.RESPIRATION_RATE) {
(vitalSign as? VitalSignRespirationRate)?.let { respirationRate ->
Log.i("VITAL SIGN", "Respiration Rate: ${respirationRate.value}")
}
}
}
}
override fun onFinalResults(results: VitalSignsResults) {
runOnUiThread {
(results.getResult(VitalSignTypes.RESPIRATION_RATE) as? VitalSignRespirationRate)?.let { respirationRate ->
Log.i("VITAL SIGN", "Respiration Rate: ${respirationRate.value}")
Log.i("VITAL SIGN", "Confidence Level: ${respirationRate.confidence?.level?.name ?: "N/A"}")
}
}
}Java
@Override
public void onVitalSign(final VitalSign vitalSign) {
runOnUiThread(() -> {
if (vitalSign.getType() == VitalSignTypes.RESPIRATION_RATE) {
VitalSignRespirationRate respirationRate = (VitalSignRespirationRate) vitalSign;
Log.i("VITAL SIGN", "Respiration Rate: " + respirationRate.getValue());
}
});
}
public void onFinalResults(final VitalSignsResults results) {
runOnUiThread(() -> {
VitalSignRespirationRate respirationRate = (VitalSignRespirationRate) results.getResult(VitalSignTypes.RESPIRATION_RATE);
if (respirationRate != null) {
Log.i("VITAL SIGN", "Respiration Rate: " + respirationRate.getValue());
VitalSignConfidence confidence = respirationRate.getConfidence();
Log.i("VITAL SIGN", "Confidence Level: "+ confidence != null ? confidence.getLevel().name() : "N/A");
}
});
}For general information about vital signs see the Vital Signs and Health Indicators Information Document.
For a list of supported vital signs by platform and measurement mode (face/polar), along with their required measurement durations, refer to the Indicators Technical Information page.
Important
Note that vital signs are sent on a background thread. The application must switch to the UI thread in order to perform UI updates.