react-native - links - react native open phone number
¿Cómo lanzar y abrir el cliente de correo electrónico React-native? (7)
No quiero redactar un correo electrónico. Solo quiero poder iniciar la aplicación de correo electrónico principal en el dispositivo de un usuario (iOS y Android) desde una aplicación nativa de reacción.
Escenario: Enviaré un correo electrónico de verificación al usuario al registrarse.
Reaccionar función de correo abierto nativo
<Button onPress={() => Linking.openURL(''mailto:[email protected]'') }
title="[email protected]" />
Reacciona función nativa de correo abierto con asunto y cuerpo
<Button onPress={() => Linking.openURL(''mailto:[email protected]?subject=SendMail&body=Description'') }
title="[email protected]" />
Reaccionar URL abierta nativa
<Button onPress={() => Linking.openURL(''https://www.google.co.in/'') }
title="www.google.co.in" />
Creo que el siguiente módulo npm debería tener lo que estás buscando. Desafortunadamente, utiliza bibliotecas nativas, por lo que tendrás que ejecutar algunos enlaces de reacción nativa.
Desafortunadamente, ninguna de las respuestas anteriores son correctas .
No quiero redactar un correo electrónico. Solo quiero poder lanzar la aplicación de correo electrónico principal.
Me gustaría tener el mismo comportamiento:
- Pantalla de inicio de sesión con un botón
Open Email App
- El usuario abre su aplicación de correo electrónico.
- Puede hacer clic en el enlace mágico para volver a la aplicación.
Más o menos lo mismo que el Slack Onboarding con el enlace mágico.
Encontré una solución con la biblioteca react-native-email-link . Puede abrir un cliente de correo electrónico desde React Native (para la función de tipo "enlace mágico").
- Funciona en Android.
- Si desea probar en iOS, necesita tener un dispositivo real porque no hay
mail.app
en el simulador de iOS.
Puede utilizar el módulo de vinculación de nativos para este fin. Aquí hay un enlace al módulo https://facebook.github.io/react-native/docs/linking.html .
Ejemplo: Linking.openURL(''mailto:[email protected]?subject=example&body=example'')
Puede utilizar este método para enviar cualquier cliente de correo electrónico abierto y enviar un correo electrónico con algunos datos.
export const sendEmailViaEmailApp = (toMailId, subject, body) => {
if (!isUndefined(toMailId)) {
let link = `mailto:${toMailId}`;
if (!isUndefined(subject)) {
link = `${link}?subject=${subject}`;
}
if (isUndefined(subject)) {
link = `${link}?body=${body}`;
} else {
link = `${link}&body=${body}`;
}
Linking.canOpenURL(link)
.then(supported => {
if (supported) {
// ''mailto:[email protected]?subject=Billing Query&body=Description''
Linking.openURL(link);
}
})
.catch(err => console.error(''An error occurred'', err));
} else {
console.log(''sendEmailViaEmailApp -----> '', ''mail link is undefined'');
}
};
Coloca este método dentro de una clase de utilidades y usa este método donde quieras.
Para abrir la aplicación de correo electrónico en iOS :
Linking.canOpenURL(''message:'')
.then(supported => {
if (!supported) {
console.log(''Cant handle url'')
} else {
return Linking.openURL(''message:'')
}
})
.catch(err => {
console.error(''An error occurred'', err)
})
<TouchableOpacity onPress={()=>{
Linking.openURL(''mailto:[email protected]?subject=mailsubject&body=mailbody'');
}}>
<View><Text>Contact Us</Text></View>
</TouchableOpacity>
Este trabajo para mí.