import * as ExpoGuidedAccess from 'expo-guided-access'; import { Subscription } from 'expo-modules-core'; import { useEffect, useState } from 'react'; import { Alert, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#fff', alignItems: 'center', justifyContent: 'space-around', }, sheetBase: { padding: 16, borderRadius: 8, borderWidth: 1, }, button: { borderColor: '#97c3f0', }, buttonText: { color: '#0b6bcb', fontWeight: 'bold', }, sheet: { backgroundColor: '#fbfcfd', borderColor: '#cdd7e1', }, sheetText: { color: '#32383e', textAlign: 'center', }, sheetValue: { fontWeight: 'bold', }, }); export default function App() { const [guidedAccessEnabled, setGuidedAccessEnabled] = useState(); const [subscription, setSubscription] = useState(); useEffect(() => { (async () => { const guidedAccessEnabled = await ExpoGuidedAccess.isGuidedAccessEnabled(); setGuidedAccessEnabled(guidedAccessEnabled); setSubscription( ExpoGuidedAccess.addChangeListener(({ guidedAccessEnabled }) => { setGuidedAccessEnabled(guidedAccessEnabled); }), ); })(); return () => { subscription && subscription.remove(); setSubscription(undefined); }; }, []); return ( { const isGuidedAccessEnabled = await ExpoGuidedAccess.isGuidedAccessEnabled(); Alert.alert('isGuidedAccessEnabled:\n\n' + isGuidedAccessEnabled); }} > Call isGuidedAccessEnabled() isGuidedAccessEnabled Subscription{'\n\n'} {guidedAccessEnabled?.toString()} ); }