This specification defines the JSR 256 Mobile Sensor API that allows Java ME application developers to fetch data
easily and uniformly from sensors. A sensor is any measurement data source. Sensors vary from physical sensors
such as magnetometers and accelerometers to virtual sensors, which combine and manipulate the data they
have received from other kinds of physical sensors. Examples of virtual sensors could include, for example,
battery level sensor indicating the remaining charge in a battery, or a field intensity sensor that measures the
reception level of the mobile network signal in a mobile phone. The sensor may be connected to the mobile
device in different ways, represented by the connection type, examples of which are embedded, short-range
wireless, wired, and remote connection type.
The API also provides means to monitor measured data. The application can register a listener and set limits
and ranges for monitoring. If the measured value meets any of defined conditions the listener is notified.
The API does not provide any methods to control a sensor; it only provides methods for receiving the information
from a sensor. Examples of possible control methods are starting, stopping, calibrating, and setting a
measurement range. These are left out for simplicity and the API implementation should take care of this