java.lang.Object | |
↳ | android.hardware.SensorManager |
SensorManager lets you access the device's
sensors
. Get an instance of this class by calling
Context.getSystemService()
with the argument
SENSOR_SERVICE
.
Always make sure to disable sensors you don't need, especially when your activity is paused. Failing to do so can drain the battery in just a few hours. Note that the system will not disable sensors automatically when the screen turns off.
Note: Don't use this mechanism with a Trigger Sensor, have a look
at
TriggerEventListener
.
TYPE_SIGNIFICANT_MOTION
is an example of a trigger sensor.
public class SensorActivity extends Activity, implements SensorEventListener { private final SensorManager mSensorManager; private final Sensor mAccelerometer; public SensorActivity() { mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); } protected void onResume() { super.onResume(); mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL); } protected void onPause() { super.onPause(); mSensorManager.unregisterListener(this); } public void onAccuracyChanged(Sensor sensor, int accuracy) { } public void onSensorChanged(SensorEvent event) { } }
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | AXIS_MINUS_X |
see
remapCoordinateSystem(float[], int, int, float[])
|
|||||||||
int | AXIS_MINUS_Y |
see
remapCoordinateSystem(float[], int, int, float[])
|
|||||||||
int | AXIS_MINUS_Z |
see
remapCoordinateSystem(float[], int, int, float[])
|
|||||||||
int | AXIS_X |
see
remapCoordinateSystem(float[], int, int, float[])
|
|||||||||
int | AXIS_Y |
see
remapCoordinateSystem(float[], int, int, float[])
|
|||||||||
int | AXIS_Z |
see
remapCoordinateSystem(float[], int, int, float[])
|
|||||||||
int | DATA_X |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | DATA_Y |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | DATA_Z |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
float | GRAVITY_DEATH_STAR_I | Gravity (estimate) on the first Death Star in Empire units (m/s^2) | |||||||||
float | GRAVITY_EARTH | Earth's gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_JUPITER | Jupiter's gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_MARS | Mars' gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_MERCURY | Mercury's gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_MOON | The Moon's gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_NEPTUNE | Neptune's gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_PLUTO | Pluto's gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_SATURN | Saturn's gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_SUN | Sun's gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_THE_ISLAND | Gravity on the island | |||||||||
float | GRAVITY_URANUS | Uranus' gravity in SI units (m/s^2) | |||||||||
float | GRAVITY_VENUS | Venus' gravity in SI units (m/s^2) | |||||||||
float | LIGHT_CLOUDY | luminance under a cloudy sky in lux | |||||||||
float | LIGHT_FULLMOON | luminance at night with full moon in lux | |||||||||
float | LIGHT_NO_MOON | luminance at night with no moon in lux | |||||||||
float | LIGHT_OVERCAST | luminance under an overcast sky in lux | |||||||||
float | LIGHT_SHADE | luminance in shade in lux | |||||||||
float | LIGHT_SUNLIGHT | luminance of sunlight in lux | |||||||||
float | LIGHT_SUNLIGHT_MAX | Maximum luminance of sunlight in lux | |||||||||
float | LIGHT_SUNRISE | luminance at sunrise in lux | |||||||||
float | MAGNETIC_FIELD_EARTH_MAX | Maximum magnetic field on Earth's surface | |||||||||
float | MAGNETIC_FIELD_EARTH_MIN | Minimum magnetic field on Earth's surface | |||||||||
float | PRESSURE_STANDARD_ATMOSPHERE | Standard atmosphere, or average sea-level pressure in hPa (millibar) | |||||||||
int | RAW_DATA_INDEX |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | RAW_DATA_X |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | RAW_DATA_Y |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | RAW_DATA_Z |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_ACCELEROMETER |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_ALL |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_DELAY_FASTEST | get sensor data as fast as possible | |||||||||
int | SENSOR_DELAY_GAME | rate suitable for games | |||||||||
int | SENSOR_DELAY_NORMAL | rate (default) suitable for screen orientation changes | |||||||||
int | SENSOR_DELAY_UI | rate suitable for the user interface | |||||||||
int | SENSOR_LIGHT |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_MAGNETIC_FIELD |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_MAX |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_MIN |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_ORIENTATION |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_ORIENTATION_RAW |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_PROXIMITY |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_STATUS_ACCURACY_HIGH | This sensor is reporting data with maximum accuracy | |||||||||
int | SENSOR_STATUS_ACCURACY_LOW | This sensor is reporting data with low accuracy, calibration with the environment is needed | |||||||||
int | SENSOR_STATUS_ACCURACY_MEDIUM | This sensor is reporting data with an average level of accuracy, calibration with the environment may improve the readings | |||||||||
int | SENSOR_STATUS_NO_CONTACT | The values returned by this sensor cannot be trusted because the sensor had no contact with what it was measuring (for example, the heart rate monitor is not in contact with the user). | |||||||||
int | SENSOR_STATUS_UNRELIABLE | The values returned by this sensor cannot be trusted, calibration is needed or the environment doesn't allow readings | |||||||||
int | SENSOR_TEMPERATURE |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
int | SENSOR_TRICORDER |
This constant was deprecated
in API level 3.
use
Sensor
instead.
|
|||||||||
float | STANDARD_GRAVITY | Standard gravity (g) on Earth. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Cancels receiving trigger events for a trigger sensor.
|
||||||||||
|
Flushes the batch FIFO of all the sensors registered for this listener.
|
||||||||||
|
Computes the Altitude in meters from the atmospheric pressure and the
pressure at sea level.
|
||||||||||
|
Helper function to compute the angle change between two rotation matrices.
|
||||||||||
|
Use this method to get the default sensor for a given type.
|
||||||||||
|
Computes the geomagnetic inclination angle in radians from the
inclination matrix
I
returned by
getRotationMatrix(float[], float[], float[], float[])
.
|
||||||||||
|
Computes the device's orientation based on the rotation matrix.
|
||||||||||
|
Helper function to convert a rotation vector to a normalized quaternion.
|
||||||||||
|
Computes the inclination matrix I as well as the rotation matrix R transforming a vector from the device coordinate system to the world's coordinate system which is defined as a direct orthonormal basis, where:
|
||||||||||
|
Helper function to convert a rotation vector to a rotation matrix.
|
||||||||||
|
Use this method to get the list of available sensors of a certain type.
|
||||||||||
|
This method was deprecated
in API level 3.
This method is deprecated, use
getSensorList(int)
instead
|
||||||||||
|
This method was deprecated
in API level 3.
This method is deprecated, use
registerListener(SensorEventListener, Sensor, int)
instead.
|
||||||||||
|
This method was deprecated
in API level 3.
This method is deprecated, use
registerListener(SensorEventListener, Sensor, int)
instead.
|
||||||||||
|
Enables batch mode for a sensor with the given rate and maxBatchReportLatency.
|
||||||||||
|
Registers a
SensorEventListener
for the given
sensor.
|
||||||||||
|
Enables batch mode for a sensor with the given rate and maxBatchReportLatency.
|
||||||||||
|
Registers a
SensorEventListener
for the given sensor.
|
||||||||||
|
Rotates the supplied rotation matrix so it is expressed in a different coordinate system. |
||||||||||
|
Requests receiving trigger events for a trigger sensor.
|
||||||||||
|
This method was deprecated
in API level 3.
This method is deprecated, use
unregisterListener(SensorEventListener)
instead.
|
||||||||||
|
This method was deprecated
in API level 3.
This method is deprecated, use
unregisterListener(SensorEventListener, Sensor)
instead.
|
||||||||||
|
Unregisters a listener for the sensors with which it is registered.
|
||||||||||
|
Unregisters a listener for all sensors.
|
[Expand]
Inherited Methods
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
This constant was deprecated
in API level 3.
use
Sensor
instead.
Index of the X value in the array returned by
onSensorChanged(int, float[])
This constant was deprecated
in API level 3.
use
Sensor
instead.
Index of the Y value in the array returned by
onSensorChanged(int, float[])
This constant was deprecated
in API level 3.
use
Sensor
instead.
Index of the Z value in the array returned by
onSensorChanged(int, float[])
Gravity (estimate) on the first Death Star in Empire units (m/s^2)
Earth's gravity in SI units (m/s^2)
Jupiter's gravity in SI units (m/s^2)
Mars' gravity in SI units (m/s^2)
Mercury's gravity in SI units (m/s^2)
The Moon's gravity in SI units (m/s^2)
Neptune's gravity in SI units (m/s^2)
Pluto's gravity in SI units (m/s^2)
Saturn's gravity in SI units (m/s^2)
Sun's gravity in SI units (m/s^2)
Gravity on the island
Uranus' gravity in SI units (m/s^2)
Venus' gravity in SI units (m/s^2)
luminance under a cloudy sky in lux
luminance at night with full moon in lux
luminance at night with no moon in lux
luminance under an overcast sky in lux
luminance in shade in lux
luminance of sunlight in lux
Maximum luminance of sunlight in lux
luminance at sunrise in lux
Maximum magnetic field on Earth's surface
Minimum magnetic field on Earth's surface
Standard atmosphere, or average sea-level pressure in hPa (millibar)
This constant was deprecated
in API level 3.
use
Sensor
instead.
Offset to the untransformed values in the array returned by
onSensorChanged(int, float[])
This constant was deprecated
in API level 3.
use
Sensor
instead.
Index of the untransformed X value in the array returned by
onSensorChanged(int, float[])
This constant was deprecated
in API level 3.
use
Sensor
instead.
Index of the untransformed Y value in the array returned by
onSensorChanged(int, float[])
This constant was deprecated
in API level 3.
use
Sensor
instead.
Index of the untransformed Z value in the array returned by
onSensorChanged(int, float[])
This constant was deprecated
in API level 3.
use
Sensor
instead.
A constant describing an accelerometer. See
SensorListener
for more details.
This constant was deprecated
in API level 3.
use
Sensor
instead.
A constant that includes all sensors
get sensor data as fast as possible
rate suitable for games
rate (default) suitable for screen orientation changes
rate suitable for the user interface
This constant was deprecated
in API level 3.
use
Sensor
instead.
A constant describing an ambient light sensor See
SensorListener
for more details.
This constant was deprecated
in API level 3.
use
Sensor
instead.
A constant describing a magnetic sensor See
SensorListener
for more details.
This constant was deprecated
in API level 3.
use
Sensor
instead.
Largest sensor ID
This constant was deprecated
in API level 3.
use
Sensor
instead.
Smallest sensor ID
This constant was deprecated
in API level 3.
use
Sensor
instead.
A constant describing an orientation sensor. See
SensorListener
for more details.
This constant was deprecated
in API level 3.
use
Sensor
instead.
A constant describing an orientation sensor. See
SensorListener
for more details.
This constant was deprecated
in API level 3.
use
Sensor
instead.
A constant describing a proximity sensor See
SensorListener
for more details.
This sensor is reporting data with maximum accuracy
This sensor is reporting data with low accuracy, calibration with the environment is needed
This sensor is reporting data with an average level of accuracy, calibration with the environment may improve the readings
The values returned by this sensor cannot be trusted because the sensor had no contact with what it was measuring (for example, the heart rate monitor is not in contact with the user).
The values returned by this sensor cannot be trusted, calibration is needed or the environment doesn't allow readings
This constant was deprecated
in API level 3.
use
Sensor
instead.
A constant describing a temperature sensor See
SensorListener
for more details.
This constant was deprecated
in API level 3.
use
Sensor
instead.
A constant describing a Tricorder See
SensorListener
for more details.
Standard gravity (g) on Earth. This value is equivalent to 1G
Cancels receiving trigger events for a trigger sensor.
Note that a Trigger sensor will be auto disabled if
onTrigger(TriggerEvent)
has triggered.
This method is provided in case the user wants to explicitly cancel the request
to receive trigger events.
listener |
The listener on which the
onTrigger(TriggerEvent)
is delivered.It should be the same as the one used
in
requestTriggerSensor(TriggerEventListener, Sensor)
|
---|---|
sensor | The sensor for which the trigger request should be canceled. If null, it cancels receiving trigger for all sensors associated with the listener. |
IllegalArgumentException | when sensor is a trigger sensor. |
---|
Flushes the batch FIFO of all the sensors registered for this listener. If there are events
in the FIFO of the sensor, they are returned as if the batch timeout in the FIFO of the
sensors had expired. Events are returned in the usual way through the SensorEventListener.
This call doesn't affect the batch timeout for this sensor. This call is asynchronous and
returns immediately.
onFlushCompleted
is called
after all the events in the batch at the time of calling this method have been delivered
successfully. If the hardware doesn't support flush, it still returns true and a trivial
flush complete event is sent after the current event for all the clients registered for this
sensor.
listener |
A
SensorEventListener
object
which was previously used in a registerListener call.
|
---|
true
if the flush is initiated successfully on all the sensors
registered for this listener, false if no sensor is previously registered for this
listener or flush on one of the sensors fails.
IllegalArgumentException | when listener is null. |
---|
Computes the Altitude in meters from the atmospheric pressure and the pressure at sea level.
Typically the atmospheric pressure is read from a
TYPE_PRESSURE
sensor. The pressure at sea level must be
known, usually it can be retrieved from airport databases in the
vicinity. If unknown, you can use
PRESSURE_STANDARD_ATMOSPHERE
as an approximation, but absolute altitudes won't be accurate.
To calculate altitude differences, you must calculate the difference
between the altitudes at both points. If you don't know the altitude
as sea level, you can use
PRESSURE_STANDARD_ATMOSPHERE
instead,
which will give good results considering the range of pressure typically
involved.
float altitude_difference =
getAltitude(SensorManager.PRESSURE_STANDARD_ATMOSPHERE, pressure_at_point2)
- getAltitude(SensorManager.PRESSURE_STANDARD_ATMOSPHERE, pressure_at_point1);
p0 | pressure at sea level |
---|---|
p | atmospheric pressure |
Helper function to compute the angle change between two rotation matrices. Given a current rotation matrix (R) and a previous rotation matrix (prevR) computes the rotation around the z,x, and y axes which transforms prevR to R. outputs a 3 element vector containing the z,x, and y angle change at indexes 0, 1, and 2 respectively.
Each input matrix is either as a 3x3 or 4x4 row-major matrix depending on the length of the passed array:
If the array length is 9, then the array elements represent this matrix
/ R[ 0] R[ 1] R[ 2] \ | R[ 3] R[ 4] R[ 5] | \ R[ 6] R[ 7] R[ 8] /
If the array length is 16, then the array elements represent this matrix
/ R[ 0] R[ 1] R[ 2] R[ 3] \ | R[ 4] R[ 5] R[ 6] R[ 7] | | R[ 8] R[ 9] R[10] R[11] | \ R[12] R[13] R[14] R[15] /
angleChange | an an array of floats (z, x, and y) in which the angle change is stored |
---|---|
R | current rotation matrix |
prevR | previous rotation matrix |
Use this method to get the default sensor for a given type. Note that the
returned sensor could be a composite sensor, and its data could be
averaged or filtered. If you need to access the raw sensors use
getSensorList
.
type | of sensors requested |
---|
Computes the geomagnetic inclination angle in radians from the
inclination matrix
I
returned by
getRotationMatrix(float[], float[], float[], float[])
.
I |
inclination matrix see
getRotationMatrix(float[], float[], float[], float[])
.
|
---|
Computes the device's orientation based on the rotation matrix.
When it returns, the array values is filled with the result:
The reference coordinate-system used is different from the world coordinate-system defined for the rotation matrix:
All three angles above are in radians and positive in the counter-clockwise direction.
R |
rotation matrix see
getRotationMatrix(float[], float[], float[], float[])
.
|
---|---|
values | an array of 3 floats to hold the result. |
Helper function to convert a rotation vector to a normalized quaternion. Given a rotation vector (presumably from a ROTATION_VECTOR sensor), returns a normalized quaternion in the array Q. The quaternion is stored as [w, x, y, z]
Q | an array of floats in which to store the computed quaternion |
---|---|
rv | the rotation vector to convert |
Computes the inclination matrix I as well as the rotation matrix R transforming a vector from the device coordinate system to the world's coordinate system which is defined as a direct orthonormal basis, where:
By definition:
[0 0 g] = R * gravity (g = magnitude of gravity)
[0 m 0] = I * R * geomagnetic (m = magnitude of geomagnetic field)
R is the identity matrix when the device is aligned with the world's coordinate system, that is, when the device's X axis points toward East, the Y axis points to the North Pole and the device is facing the sky.
I
is a rotation matrix transforming the geomagnetic vector into
the same coordinate space as gravity (the world's coordinate space).
I
is a simple rotation around the X axis. The inclination angle in
radians can be computed with
getInclination(float[])
.
Each matrix is returned either as a 3x3 or 4x4 row-major matrix depending on the length of the passed array:
If the array length is 16:
/ M[ 0] M[ 1] M[ 2] M[ 3] \ | M[ 4] M[ 5] M[ 6] M[ 7] | | M[ 8] M[ 9] M[10] M[11] | \ M[12] M[13] M[14] M[15] /This matrix is ready to be used by OpenGL ES's
glLoadMatrixf(float[], int)
.
Note that because OpenGL matrices are column-major matrices you must transpose the matrix before using it. However, since the matrix is a rotation matrix, its transpose is also its inverse, conveniently, it is often the inverse of the rotation that is needed for rendering; it can therefore be used with OpenGL ES directly.
Also note that the returned matrices always have this form:
/ M[ 0] M[ 1] M[ 2] 0 \ | M[ 4] M[ 5] M[ 6] 0 | | M[ 8] M[ 9] M[10] 0 | \ 0 0 0 1 /
If the array length is 9:
/ M[ 0] M[ 1] M[ 2] \ | M[ 3] M[ 4] M[ 5] | \ M[ 6] M[ 7] M[ 8] /
The inverse of each matrix can be computed easily by taking its transpose.
The matrices returned by this function are meaningful only when the device is not free-falling and it is not close to the magnetic north. If the device is accelerating, or placed into a strong magnetic field, the returned matrices may be inaccurate.
R |
is an array of 9 floats holding the rotation matrix
R
when
this function returns. R can be null.
|
---|---|
I |
is an array of 9 floats holding the rotation matrix
I
when
this function returns. I can be null.
|
gravity |
is an array of 3 floats containing the gravity vector expressed in
the device's coordinate. You can simply use the
values
returned by a
SensorEvent
of a
Sensor
of type
TYPE_ACCELEROMETER
.
|
geomagnetic |
is an array of 3 floats containing the geomagnetic vector
expressed in the device's coordinate. You can simply use the
values
returned by a
SensorEvent
of a
Sensor
of type
TYPE_MAGNETIC_FIELD
.
|
true
on success,
false
on failure (for
instance, if the device is in free fall). On failure the output
matrices are not modified.
Helper function to convert a rotation vector to a rotation matrix. Given a rotation vector (presumably from a ROTATION_VECTOR sensor), returns a 9 or 16 element rotation matrix in the array R. R must have length 9 or 16. If R.length == 9, the following matrix is returned:
/ R[ 0] R[ 1] R[ 2] \ | R[ 3] R[ 4] R[ 5] | \ R[ 6] R[ 7] R[ 8] /If R.length == 16, the following matrix is returned:
/ R[ 0] R[ 1] R[ 2] 0 \ | R[ 4] R[ 5] R[ 6] 0 | | R[ 8] R[ 9] R[10] 0 | \ 0 0 0 1 /
R | an array of floats in which to store the rotation matrix |
---|---|
rotationVector | the rotation vector to convert |
Use this method to get the list of available sensors of a certain type.
Make multiple calls to get sensors of different types or use
Sensor.TYPE_ALL
to get all the
sensors.
type | of sensors requested |
---|
This method was deprecated
in API level 3.
This method is deprecated, use
getSensorList(int)
instead
This method was deprecated
in API level 3.
This method is deprecated, use
registerListener(SensorEventListener, Sensor, int)
instead.
Registers a SensorListener for given sensors.
listener | sensor listener object |
---|---|
sensors | a bit masks of the sensors to register to |
rate |
rate of events. This is only a hint to the system. events may be
received faster or slower than the specified rate. Usually events
are received faster. The value must be one of
SENSOR_DELAY_NORMAL
,
SENSOR_DELAY_UI
,
SENSOR_DELAY_GAME
, or
SENSOR_DELAY_FASTEST
.
|
true
if the sensor is supported and successfully
enabled
This method was deprecated
in API level 3.
This method is deprecated, use
registerListener(SensorEventListener, Sensor, int)
instead.
Registers a listener for given sensors.
listener | sensor listener object |
---|---|
sensors | a bit masks of the sensors to register to |
true
if the sensor is supported and successfully
enabled
Enables batch mode for a sensor with the given rate and maxBatchReportLatency. If the
underlying hardware does not support batch mode, this defaults to
registerListener(SensorEventListener, Sensor, int)
and other parameters are
ignored. In non-batch mode, all sensor events must be reported as soon as they are detected.
While in batch mode, sensor events do not need to be reported as soon as they are detected.
They can be temporarily stored in batches and reported in batches, as long as no event is
delayed by more than "maxBatchReportLatency" microseconds. That is, all events since the
previous batch are recorded and returned all at once. This allows to reduce the amount of
interrupts sent to the SoC, and allows the SoC to switch to a lower power state (Idle) while
the sensor is capturing and batching data.
Registering to a sensor in batch mode will not prevent the SoC from going to suspend mode. In this case, the sensor will continue to gather events and store it in a hardware FIFO. If the FIFO gets full before the AP wakes up again, some events will be lost, as the older events get overwritten by new events in the hardware FIFO. This can be avoided by holding a wake lock. If the application holds a wake lock, the SoC will not go to suspend mode, so no events will be lost, as the events will be reported before the FIFO gets full.
Batching is always best effort. If a different application requests updates in continuous
mode, this application will also get events in continuous mode. Batch mode updates can be
unregistered by calling
unregisterListener(SensorEventListener)
.
Note: Don't use this method with a one shot trigger sensor such as
TYPE_SIGNIFICANT_MOTION
. Use
requestTriggerSensor(TriggerEventListener, Sensor)
instead.
listener |
A
SensorEventListener
object
that will receive the sensor events. If the application is interested in receiving
flush complete notifications, it should register with
SensorEventListener2
instead.
|
---|---|
sensor |
The
Sensor
to register to.
|
rateUs |
The desired delay between two consecutive events in microseconds. This is only
a hint to the system. Events may be received faster or slower than the specified
rate. Usually events are received faster. Can be one of
SENSOR_DELAY_NORMAL
,
SENSOR_DELAY_UI
,
SENSOR_DELAY_GAME
,
SENSOR_DELAY_FASTEST
or the delay in
microseconds.
|
maxBatchReportLatencyUs |
An event in the batch can be delayed by at most
maxBatchReportLatency microseconds. More events can be batched if this value is
large. If this is set to zero, batch mode is disabled and events are delivered in
continuous mode as soon as they are available which is equivalent to calling
registerListener(SensorEventListener, Sensor, int)
.
|
true
if batch mode is successfully enabled for this sensor,
false
otherwise.
Registers a
SensorEventListener
for the given
sensor. Events are delivered in continuous mode as soon as they are available. To reduce the
battery usage, use
registerListener(SensorEventListener, Sensor, int, int)
which
enables batch mode for the sensor.
Note: Don't use this method with a one shot trigger sensor such as
TYPE_SIGNIFICANT_MOTION
.
Use
requestTriggerSensor(TriggerEventListener, Sensor)
instead.
listener |
A
SensorEventListener
object.
|
---|---|
sensor |
The
Sensor
to register to.
|
rateUs |
The rate
sensor events
are
delivered at. This is only a hint to the system. Events may be
received faster or slower than the specified rate. Usually events
are received faster. The value must be one of
SENSOR_DELAY_NORMAL
,
SENSOR_DELAY_UI
,
SENSOR_DELAY_GAME
, or
SENSOR_DELAY_FASTEST
.
or, the desired delay between events in microseconds.
Specifying the delay in microseconds only works from Android
2.3 (API level 9) onwards. For earlier releases, you must use
one of the
SENSOR_DELAY_*
constants.
|
handler |
The
Handler
the
sensor events
will be
delivered to.
|
true
if the sensor is supported and successfully enabled.
Enables batch mode for a sensor with the given rate and maxBatchReportLatency.
listener |
A
SensorEventListener
object
that will receive the sensor events. If the application is interested in receiving
flush complete notifications, it should register with
SensorEventListener2
instead.
|
---|---|
sensor |
The
Sensor
to register to.
|
rateUs |
The desired delay between two consecutive events in microseconds. This is only
a hint to the system. Events may be received faster or slower than the specified
rate. Usually events are received faster. Can be one of
SENSOR_DELAY_NORMAL
,
SENSOR_DELAY_UI
,
SENSOR_DELAY_GAME
,
SENSOR_DELAY_FASTEST
or the delay in
microseconds.
|
maxBatchReportLatencyUs |
An event in the batch can be delayed by at most
maxBatchReportLatency microseconds. More events can be batched if this value is
large. If this is set to zero, batch mode is disabled and events are delivered in
continuous mode as soon as they are available which is equivalent to calling
registerListener(SensorEventListener, Sensor, int)
.
|
handler |
The
Handler
the
sensor events
will be delivered to.
|
true
if batch mode is successfully enabled for this sensor,
false
otherwise.
Registers a
SensorEventListener
for the given sensor.
Note: Don't use this method with a one shot trigger sensor such as
TYPE_SIGNIFICANT_MOTION
.
Use
requestTriggerSensor(TriggerEventListener, Sensor)
instead.
listener |
A
SensorEventListener
object.
|
---|---|
sensor |
The
Sensor
to register to.
|
rateUs |
The rate
sensor events
are
delivered at. This is only a hint to the system. Events may be
received faster or slower than the specified rate. Usually events
are received faster. The value must be one of
SENSOR_DELAY_NORMAL
,
SENSOR_DELAY_UI
,
SENSOR_DELAY_GAME
, or
SENSOR_DELAY_FASTEST
or, the desired delay between events in microseconds.
Specifying the delay in microseconds only works from Android
2.3 (API level 9) onwards. For earlier releases, you must use
one of the
SENSOR_DELAY_*
constants.
|
true
if the sensor is supported and successfully
enabled.
Rotates the supplied rotation matrix so it is expressed in a different
coordinate system. This is typically used when an application needs to
compute the three orientation angles of the device (see
getOrientation(float[], float[])
) in a different coordinate system.
When the rotation matrix is used for drawing (for instance with OpenGL
ES), it usually
doesn't need
to be transformed by this function,
unless the screen is physically rotated, in which case you can use
Display.getRotation()
to
retrieve the current rotation of the screen. Note that because the user
is generally free to rotate their screen, you often should consider the
rotation in deciding the parameters to use here.
Examples:
remapCoordinateSystem(inR, AXIS_X, AXIS_Z, outR);
Surface.ROTATION_90
:
remapCoordinateSystem(inR, AXIS_Y, AXIS_MINUS_X, outR);
getOrientation(float[], float[])
). If the rotation matrix is also used
for rendering, it may not need to be transformed, for instance if your
Activity
is running in landscape mode.
Since the resulting coordinate system is orthonormal, only two axes need to be specified.
inR |
the rotation matrix to be transformed. Usually it is the matrix
returned by
getRotationMatrix(float[], float[], float[], float[])
.
|
---|---|
X | defines on which world axis and direction the X axis of the device is mapped. |
Y | defines on which world axis and direction the Y axis of the device is mapped. |
outR | the transformed rotation matrix. inR and outR should not be the same array. |
true
on success.
false
if the input
parameters are incorrect, for instance if X and Y define the same
axis. Or if inR and outR don't have the same length.
Requests receiving trigger events for a trigger sensor.
When the sensor detects a trigger event condition, such as significant motion in
the case of the
TYPE_SIGNIFICANT_MOTION
, the provided trigger listener
will be invoked once and then its request to receive trigger events will be canceled.
To continue receiving trigger events, the application must request to receive trigger
events again.
listener |
The listener on which the
onTrigger(TriggerEvent)
will be delivered.
|
---|---|
sensor | The sensor to be enabled. |
IllegalArgumentException | when sensor is null or not a trigger sensor. |
---|
This method was deprecated
in API level 3.
This method is deprecated, use
unregisterListener(SensorEventListener)
instead.
Unregisters a listener for all sensors.
listener | a SensorListener object |
---|
This method was deprecated
in API level 3.
This method is deprecated, use
unregisterListener(SensorEventListener, Sensor)
instead.
Unregisters a listener for the sensors with which it is registered.
listener | a SensorListener object |
---|---|
sensors | a bit masks of the sensors to unregister from |
Unregisters a listener for the sensors with which it is registered.
Note: Don't use this method with a one shot trigger sensor such as
TYPE_SIGNIFICANT_MOTION
.
Use
cancelTriggerSensor(TriggerEventListener, Sensor)
instead.
listener | a SensorEventListener object |
---|---|
sensor | the sensor to unregister from |
Unregisters a listener for all sensors.
listener | a SensorListener object |
---|