本文整理汇总了Java中android.hardware.Sensor.TYPE_HEART_RATE属性的典型用法代码示例。如果您正苦于以下问题:Java Sensor.TYPE_HEART_RATE属性的具体用法?Java Sensor.TYPE_HEART_RATE怎么用?Java Sensor.TYPE_HEART_RATE使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类android.hardware.Sensor
的用法示例。
在下文中一共展示了Sensor.TYPE_HEART_RATE属性的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onSensorChanged
/**
* Used to handle all sensors event (in our case, is step and heart pulse)
* @param sensorEvent
*/
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
switch (sensorEvent.sensor.getType())
{ //handle heart event
case Sensor.TYPE_HEART_RATE :
//add a value to the array, but only if the accuracy is at least at 1 (-1 == no contact, 3 == best contact)
if (accuracySensorPulse<1)
return;
double value=sensorEvent.values[0];
listPulse.add(value);
break;
case Sensor.TYPE_STEP_DETECTOR :
//for this sensor, we juste update the value. the value is processed only once a day
addStep(1);
break;
}
}
示例2: onAccuracyChanged
/**
* Used to handle change of accuracy from the sensors. We will only check pulse accuracy
* @param sensor
* @param i
*/
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
//set the accuracy of the pulse snsors
if (sensor.getType()==Sensor.TYPE_HEART_RATE)
{
accuracySensorPulse=i;
}
}
示例3: isRestricted
@SuppressWarnings("deprecation")
private boolean isRestricted(XParam param, int type) throws Throwable {
if (type == Sensor.TYPE_ALL)
return false;
else if (type == Sensor.TYPE_ACCELEROMETER || type == Sensor.TYPE_LINEAR_ACCELERATION) {
if (isRestricted(param, "acceleration"))
return true;
} else if (type == Sensor.TYPE_GRAVITY) {
if (isRestricted(param, "gravity"))
return true;
} else if (type == Sensor.TYPE_RELATIVE_HUMIDITY) {
if (isRestricted(param, "humidity"))
return true;
} else if (type == Sensor.TYPE_LIGHT) {
if (isRestricted(param, "light"))
return true;
} else if (type == Sensor.TYPE_MAGNETIC_FIELD || type == Sensor.TYPE_MAGNETIC_FIELD_UNCALIBRATED) {
if (isRestricted(param, "magnetic"))
return true;
} else if (type == Sensor.TYPE_SIGNIFICANT_MOTION) {
if (isRestricted(param, "motion"))
return true;
} else if (type == Sensor.TYPE_ORIENTATION || type == Sensor.TYPE_GYROSCOPE
|| type == Sensor.TYPE_GYROSCOPE_UNCALIBRATED) {
if (isRestricted(param, "orientation"))
return true;
} else if (type == Sensor.TYPE_PRESSURE) {
if (isRestricted(param, "pressure"))
return true;
} else if (type == Sensor.TYPE_PROXIMITY) {
if (isRestricted(param, "proximity"))
return true;
} else if (type == Sensor.TYPE_GAME_ROTATION_VECTOR || type == Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR
|| type == Sensor.TYPE_ROTATION_VECTOR) {
if (isRestricted(param, "rotation"))
return true;
} else if (type == Sensor.TYPE_TEMPERATURE || type == Sensor.TYPE_AMBIENT_TEMPERATURE) {
if (isRestricted(param, "temperature"))
return true;
} else if (type == Sensor.TYPE_STEP_COUNTER || type == Sensor.TYPE_STEP_DETECTOR) {
if (isRestricted(param, "step"))
return true;
} else if (type == Sensor.TYPE_HEART_RATE) {
if (isRestricted(param, "heartrate"))
return true;
} else if (type == 22) {
// 22 = TYPE_TILT_DETECTOR
// Do nothing
} else if (type == 23 || type == 24 || type == 25) {
// 23 = TYPE_WAKE_GESTURE
// 24 = TYPE_GLANCE_GESTURE
// 25 = TYPE_PICK_UP_GESTURE
// 23/24 This sensor is expected to only be used by the system ui
// 25 Expected to be used internally for always on display
} else
Util.log(this, Log.WARN, "Unknown sensor type=" + type);
return false;
}
示例4: onSensorChanged
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
if(sensorEvent.sensor.getType() == Sensor.TYPE_HEART_RATE && sensorEvent.values.length > 0) {
for(Float value : sensorEvent.values) {
int newValue = Math.round(value);
if(currentValue != newValue) {
currentValue = newValue;
mTextView.setText(currentValue.toString());
heartbeat.setDurationBasedOnBPM(currentValue);
heartbeat.toggle();
sendMessageToHandheld(currentValue.toString());
}
}
}
}