mEMA10 Android Sensor Data Guide

The mEMA10 Android app passively collects sensor data from the participant's phone using event-driven recording. Unlike aggregated sampling, each row in the data represents an individual sensor event — a change in value or a state transition. This provides high-resolution, objective contextual information about the participant's environment and phone usage without requiring any manual input.

All sensor readings are timestamped and uploaded automatically alongside survey responses.

 

Sensors collected

The following table describes each sensor, the range of values it can produce, when readings are collected, and what those readings represent.

 

Sensor

Possible values

When collected

Description

ambientLight

0 to ~266+ lux (continuous)

On change, at least every ~8 seconds while the screen is on

The ambient light level measured by the phone's light sensor, reported in lux. Higher values indicate brighter environments — for example, ~50–80 lux is typical indoors, ~100+ lux near windows, and ~200+ lux outdoors or under bright artificial lighting.

screenBrightness*

0 to 255 (integer)

Recorded alongside each ambient light or proximity event

The current screen brightness setting at the time of the event (Android system value). 0 = dimmest; 255 = brightest. Values of 25–28 indicate a low brightness setting.

proximity

0 or max range (e.g., 5)

On change — when something approaches or moves away from the sensor

The proximity sensor reading. 0 = something is close to the sensor (e.g., phone held to ear, face down, or in a pocket). 5 (or the device's max range) = nothing near the sensor. Transitions between 0 and 5 indicate the phone being picked up, put down, or held to the ear.

screenLock

0 or 1

On state change

Indicates a screen lock or unlock event. 1 = screen was just locked (screen off). 0 = screen was just unlocked (screen on). Each row is a discrete event, not a percentage.

screenOnDuration

0+ (seconds)

When the screen turns off

The total number of seconds the screen was continuously on before it turned off. Recorded once per screen-off event.

appForeground

0 or 1

On state change

Indicates whether the mEMA app entered or left the foreground. 1 = app became visible to the user. 0 = app moved to the background (user switched to another app or locked the phone).

appForegroundDuration

0+ (seconds)

When the app leaves the foreground

The total number of seconds the mEMA app was continuously in the foreground before the user navigated away. Recorded once per background event.


*screenBrightness - On Android, Settings.System.SCREEN_BRIGHTNESS should return 0–255. However, some manufacturers (notably Samsung and some Android 13+ devices) use extended brightness ranges — Samsung devices with "Extra Brightness" can report values up to ~4095 (12-bit) or even higher, and some OEMs use non-standard scales. The values over 1000 are likely raw values from such devices being passed through without normalization.

 

Sensors not collected

Several sensors that may have been available in the past but are not collected on mEMA10 Android. The reasons are consistent with the iOS version of the app:

Orientation — the mEMA app is locked to portrait mode, so orientation data does not change meaningfully and is not collected.

Amplitude (microphone) — audio amplitude data is not collected in order to protect participant privacy.

Humidity, temperature, and barometric pressure — modern smartphones no longer include environmental sensors of this type. These are not available on participant devices.

 

Data interpretation examples

Because the Android format is event-driven rather than time-windowed, each row captures a specific moment of change. The examples below show how to read sequences of events together to reconstruct participant behaviour.

 

Phone usage session

Combining appForeground, appForegroundDuration, screenLock, and screenOnDuration lets you reconstruct how a participant interacted with their phone during a given period.

 

Time

Sensor

Value

Likely interpretation

11:09:16

appForeground

1

The participant opened the mEMA app.

11:09:21

appForegroundDuration

5

The participant spent only 5 seconds in the app before switching away.

11:09:21

appForeground

0

The app moved to the background.

11:10:34

screenLock

1

The participant locked the phone (screen turned off).

11:10:34

screenOnDuration

42

The screen had been on for 42 seconds total before being locked.

 

In this sequence, the participant briefly opened the app for 5 seconds (possibly checking a notification), then used other apps for about 37 more seconds before locking the phone.

 

Proximity — detecting phone-to-ear or pocket events

The proximity sensor can identify when the phone is held close to the face or placed in a pocket. Sustained readings of 0 may indicate a phone call; rapid transitions suggest the phone is being handled or repositioned.

 

Time

Sensor

Value

Likely interpretation

11:08:17

proximity

0

Something is close to the sensor — phone may be held to the ear or placed face down.

11:08:17

proximity

5

Sensor cleared almost instantly — brief contact, likely the participant picking up the phone.

14:18:34

proximity

0

Phone near face or in pocket.

14:18:35

proximity

5

Cleared again.

14:18:37

proximity

0

Another close event within 2 seconds.

14:18:37

proximity

5

Rapid back-and-forth — the participant may be adjusting phone position or checking the screen intermittently.

 

Ambient light changes over time

The ambientLight sensor provides a continuous picture of the participant's lighting environment. Light trends can help identify indoor/outdoor transitions, sleep patterns (very low lux at night), and contextualise survey responses.

 

Time

Ambient light

Likely interpretation

11:07:47

55.8 lux

Moderate indoor lighting — typical of an office or living room.

12:01:24

111.6 lux

Increasing brightness — participant may have moved near a window, or natural light is strengthening as midday approaches.

13:10:33

58.4 lux

Light has dropped — participant may have moved to a dimmer area or away from the window.

14:18:43

192.1 lux

Very bright — likely near a window with direct sunlight, or outdoors.

 

Notes

The Android sensor data format is event-driven: each row represents a single sensor event with a specific timestamp, sensor name, and value. This differs from the iOS format, which aggregates multiple samples into time windows.

ambientLight and screenBrightness are typically recorded together as a pair at the same timestamp.

screenOnDuration and appForegroundDuration are calculated durations recorded at the moment the screen turns off, or the app goes to the background, respectively. They are not continuous readings.

Proximity sensor max range varies by device (commonly 5cm). A value equal to the max range means nothing is detected near the sensor.