Sensors
Connectivity
Bluetooth
List of discovered Bluetooth normal or low energy devices around the smartphone containing the following information:
- name: user-friendly name of the remote device
- address: hardware MAC Address of the device
- bondstate: whether the remote device is connected
- rssi: Received Signal Strength Indicator
- class code and class tag: Bluetooth class of the device (e.g., phone or computer), and the class describes the characteristics and capabilities of the device (e.g., audio and telephony)
Cellular Network
Information of the cellular network to which the phone is connected to:
- cellid: identifier of the cell
- dbm: signal strength
- type: type of the cell, possible values are lte, wcdma, gsm and cdma
WiFi Event
Returns information related to the WIFI network to which the phone is connected; if connected, it also reports the WIFI network ID. Additional features are:
- ssid: (Service Set Identifier) ID or unique identifier of a digital network (Wi-Fi or WLAN)
- bssid: (Basic Service Set Identifier): sequence of characters that define a wireless computer network configured to communicate directly with each other
- isconnected: return whether the phone is connected to the WIFI
WiFi Networks Event
Returns all WIFI networks detected by the smartphone. Additional features are:
- address: unique identifier assigned to a network interface controller for use as a network address in communications within a network segment
- capabilities: list of capabilities supported by the network, e.g., WPA and WPS
- frequency: the WiFi frequency bands include 2.4 GHz and 5 GHz
- name: the name assigned to the WiFi network
- rssi: Received Signal Strength Indicator is an estimated measure of signal strength that indicates how effectively a device can receive signals from any wireless access point or Wi-Fi router. It provides insight into the quality and reliability of the connection, often measured in decibels (dBm) to represent signal strength. The RSSI value range is between 0 and -100, where 0 signifies stronger and more stable connections.
Motion
Accelerometer
Measures the acceleration to which the phone is subjected and captures it as a 3D vector. The unit is \(m/s^2\).
Gyroscope
Measures the rotational forces to which the phone is subjected and it captures it as a 3D vector. The unit is \(rad/s\).
Activities
It reports the user’s activity recognized by the Google Activity Recognition API. The recognized activities are in vehicle, on bicycle, on foot, running, still, tilting, walking and unknown. The sensor reports a confidence score between 0 and 100, which represents the likelihood that the user is performing the activity.
Step Counter
It counts the total number of steps performed by the user (while carrying the phone) since the phone was powered on.
Step Detector
An event is triggered each time the user takes a step.
Position
Location
It provides the geographic coordinates of the phone:
- latitude: latitude in degrees
- longitude: longitude in degrees
- altitude: the altitude in meters
- accuracy: estimated horizontal accuracy radius in meters
- speed: current speed of the phone in \(m/s\)
- provider: the source of the coordinates, i.e., GPS (hardware sensor in the devices), network (based on the WiFi network the phone is connected to) and passive (retrieve the location from other applications that already requested it)
- bearing: horizontal direction of travel and it’s the angle with respect to the north that is being faced
Magnetic field
Reports the ambient magnetic field along the three sensor axes at the phone location.
Proximity
Measures the distance between the user’s head and the phone. Depending on the phone, it may be measured in centimeters (i.e., the absolute distance) or as labels (e.g., ‘near’, ‘far’).
App Usage
Headset status
Indicates whether the headphones are connected to the phone.
Music Playback
Returns whether music is being played on the phone using the default music player from the operating system. Track information is not collected.
Notifications
It generates an event every time the phone receives a notification and when it is dismissed by the user:
- identifier: the unique identifier of notification within the application that generated it
- isclearable: whether the notification can be canceled when the user clears the notifications
- isongoing: the notification refers to an event that is ongoing, e.g., a phone call
- package: package name of the application
- status: whether the notification is posted or dismissed
Applications
Reports the name of the application (or application package) currently running in the foreground of the phone.
Device Usage
Airplane Mode
Returns whether the phone’s airplane mode is on or off. When off, all the connectivity features of the phone are turned off. Airplane mode also conserves battery life by reducing power-consuming background activities. It’s accessible through the quick settings menu on most devices.
Battery Charge
Returns whether the phone is on charge:
- source: type of power source connected to the device; possible values are USB, AC charge, wireless power source or unknown
- status: whether the device is being charged
Battery Monitoring Log
Returns the phone’s battery level:
- level: current battery level between 0 and 100
- scale: maximum level of the battery represented as a value between 0 and 100
Doze Mode
Returns whether the phone’s doze mode is on or off. Doze mode is a low-power state that a phone enters after a period of inactivity to conserve battery. In this mode, background processes and network access are restricted, allowing only essential tasks, such as high-priority notifications or alarms, to function periodically. This helps significantly reduce battery consumption while the device is idle.
Ring Mode
Reports the current ring status of the phone. When set to normal, the smartphone rings on incoming calls, messages and notifications by producing audible alerts. Other statuses are vibrate (where the phone vibrates instead of ringing) or silent (where all sounds are muted). Ring mode is often managed through the device’s sound settings.
Touch event
It generates an event each time the user touches the screen.
Screen status
Returns whether the phone’s screen is on or off.
User Presence
Detects when the user is present near the phone, for example, when the user unlocks the screen.
Environment
Light
This component detects ambient light level around the phone, and it is measured in illuminance (lux). This sensor helps the device adjust the screen brightness automatically, optimizing visibility while conserving battery life. For example, in bright conditions, the screen brightness increases for better readability, whereas in darker environments, it dims to reduce eye strain and save power. Light sensors are commonly located near the top of the device, often beside the front-facing camera.
Pressure
It measures the ambient air pressure to which the phone is subjected in hPa or mbar.