Barometer Barometer
from expo-sensors
provides access to the device barometer sensor to respond to changes in air pressure. pressure
is measured in hectopascals
or hPa
.
Platform Compatibility Android Device Android Emulator iOS Device iOS Simulator Web
import React , { useState, useEffect } from 'react' ;
import { StyleSheet , Text , TouchableOpacity , View } from 'react-native' ;
import { Barometer } from 'expo-sensors' ;
export default function App ( ) {
const [ data, setData] = useState ( { } ) ;
useEffect ( ( ) => {
_toggle ( ) ;
} , [ ] ) ;
useEffect ( ( ) => {
return ( ) => {
_unsubscribe ( ) ;
} ;
} , [ ] ) ;
const _toggle = ( ) => {
if ( this . _subscription ) {
_unsubscribe ( ) ;
} else {
_subscribe ( ) ;
}
} ;
const _subscribe = ( ) => {
this . _subscription = Barometer . addListener ( barometerData => {
setData ( barometerData) ;
} ) ;
} ;
const _unsubscribe = ( ) => {
this . _subscription && this . _subscription . remove ( ) ;
this . _subscription = null ;
} ;
const { pressure = 0 } = data;
return (
< View style= { styles. sensor } >
< Text > Barometer : < / Text >
< Text > { pressure * 100 } Pa < / Text >
< View style= { styles. buttonContainer } >
< TouchableOpacity onPress= { _toggle} style= { styles. button } >
< Text > Toggle < / Text >
< / TouchableOpacity >
< / View >
< / View >
) ;
}
import { Barometer } from 'expo-sensors' ;
You should always check the sensor availability before attempting to use it.
Returns a promise which resolves into a boolean denoting the availability of the device barometer.
OS Availability iOS iOS 8+ Android Android 2.3+ (API Level 9+) Web N/A
A promise that resolves to a boolean
denoting the availability of the sensor. Subscribe for updates to the barometer.
const subscription = Barometer . addListener ( ( { pressure, relativeAltitude } ) => {
console . log ( { pressure, relativeAltitude } ) ;
} ) ;
listener (function ) -- A callback that is invoked when an barometer update is available. When invoked, the listener is provided a single argument that is an object containing: pressure: number
(hPa
). On iOS the relativeAltitude: number
(meters
) value will also be available.A subscription that you can call remove()
on when you would like to unsubscribe the listener. Removes all listeners.
The altitude data returned from the native sensors.
type BarometerMeasurement = {
pressure: number ;
relativeAltitude? : number ;
} ;
Name Type Format iOS Android Web pressure number
hPa
✅ ✅ ❌ relativeAltitude number | undefined
meters
✅ ❌ ❌
OS Units Provider Description iOS hPa
CMAltimeter
Altitude events reflect the change in the current altitude, not the absolute altitude. Android hPa
Sensor.TYPE_PRESSURE
Monitoring air pressure changes. Web N/A
N/A
This sensor is not available on the web and cannot be accessed. An UnavailabilityError
will be thrown if you attempt to get data.