本文整理匯總了Java中android.hardware.Sensor.TYPE_STEP_DETECTOR屬性的典型用法代碼示例。如果您正苦於以下問題:Java Sensor.TYPE_STEP_DETECTOR屬性的具體用法?Java Sensor.TYPE_STEP_DETECTOR怎麽用?Java Sensor.TYPE_STEP_DETECTOR使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類android.hardware.Sensor
的用法示例。
在下文中一共展示了Sensor.TYPE_STEP_DETECTOR屬性的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: onSensorChanged
@Override
public void onSensorChanged(SensorEvent event) {
switch (event.sensor.getType()) {
case Sensor.TYPE_ROTATION_VECTOR:
System.arraycopy(event.values, 0, mRotation, 0, 3);
calculateOrientation();
break;
case Sensor.TYPE_ACCELEROMETER:
mAccel = LowPassFilter.lowPass(event.values.clone(), mAccel);
calculateOrientation();
break;
case Sensor.TYPE_MAGNETIC_FIELD:
mMagnet = LowPassFilter.lowPass(event.values.clone(), mMagnet);
break;
case Sensor.TYPE_STEP_DETECTOR:
mStep = event.values[0] == 1.0;
announceChange(STEP_UPDATE);
break;
}
}
示例2: onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
//assim como em LocationManager a gente pega um tipo de provider (GPS_PROVIDER)
//com sensores, não há APIs dedicadas para sensores, usamos o SensorManager
//os sensores são identificados por nomes (TYPE_LINEAR_ACCELERATION)
//existem sensores e tipos de sensores
//abaixo, estamos pedindo todos os sensores, de todos os tipos
List<Sensor> allSensors = new ArrayList<>(sensorManager.getSensorList(Sensor.TYPE_ALL));
List<Sensor> sensors = new ArrayList<>();
//removendo trigger sensors, que entregam apenas uma única leitura
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
for (Sensor s : allSensors) {
boolean triggerSensor = s.getType() == Sensor.TYPE_SIGNIFICANT_MOTION ||
s.getType() == Sensor.TYPE_STEP_COUNTER ||
s.getType() == Sensor.TYPE_STEP_DETECTOR;
if (!triggerSensor) {
sensors.add(s);
}
}
}
else {
sensors = allSensors;
}
adapter=new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, sensors);
setListAdapter(adapter);
}
示例3: 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;
}
}
示例4: 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;
}
示例5: PStep
public PStep(AppRunner appRunner) {
super(appRunner);
type = Sensor.TYPE_STEP_DETECTOR;
}