Estoy creando una función que usa la biblioteca React Native Linking con el esquema de URL incorporado para abrir la aplicación del teléfono. Mi idea es esperar hasta que el usuario haga la llamada o haga clic en cancelar, y luego navegue a otro lugar.
Aquí está el código:
const openPhoneCall = async () => { await Linking.openURL(`tel:${phoneNum}`); navigateToDashboard(); };Mi problema es que el modal del teléfono se abre e inmediatamente navega al tablero, en lugar de esperar a hacer la llamada o hacer clic en cancelar y luego navegar.
¿Alguna forma de resolver esto?
Gracias
Creo que puede usar un oyente de estado de la aplicación en esta pantalla en particular y llamar a navigateToDashboard a Dashboard cada vez que el usuario tenga un evento borroso
ejemplo:
import React, {useEffect} from 'react'; import {AppState} from 'react-native'; ... function App() { ... useEffect(() => { const listener = AppState.addEventListener('blur', state => { navigateToDashboard(); }); return listener.remove; }, []); ... } export default App;Logré encontrar una manera de resolver esto usando AppState .
const appState = useRef(AppState.currentState); useEffect(() => { const subscription = AppState.addEventListener("change", (nextAppState) => { if ( appState.current.match(/inactive|background/) && nextAppState === "active" ) { navigateToDashboard(); } appState.current = nextAppState; }); return () => { subscription.remove(); }; }, []);