This class is the listener used to handle Trigger Sensors.
Trigger Sensors are sensors that trigger an event and are automatically
disabled. {@link Sensor#TYPE_SIGNIFICANT_MOTION} is one such example.
{@link SensorManager} lets you access the device's {@link android.hardware.Sensor
sensors}. Get an instance of {@link SensorManager} by calling
{@link android.content.Context#getSystemService(java.lang.String)
Context.getSystemService()} with the argument
{@link android.content.Context#SENSOR_SERVICE}.
Here's an example setup for a TriggerEventListener:
class TriggerListener extends TriggerEventListener {
public void onTrigger(TriggerEvent event) {
// Do Work.
// As it is a one shot sensor, it will be canceled automatically.
// SensorManager.requestTriggerSensor(this, mSigMotion); needs to
// be called again, if needed.
}
}
public class SensorActivity extends Activity {
private final SensorManager mSensorManager;
private final Sensor mSigMotion;
private final TriggerEventListener mListener = new TriggerEventListener();
public SensorActivity() {
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSigMotion = mSensorManager.getDefaultSensor(Sensor.TYPE_SIGNIFICANT_MOTION);
}
protected void onResume() {
super.onResume();
mSensorManager.requestTriggerSensor(mListener, mSigMotion);
}
protected void onPause() {
super.onPause();
// Call disable to ensure that the trigger request has been canceled.
mSensorManager.cancelTriggerSensor(mListener, mSigMotion);
}
}
|