Je veux appeler la valeur du composant Texte lorsque j'appuie dessus. Mais, en fait, je n'ai pas assez de connaissances pour cela.
Pouvez-vous, s'il vous plaît, me dire quelle bibliothèque ou quel composant je dois utiliser ?
Vous pouvez utiliser cette méthode pour appeler des numéros dans Android et ios. Placez cette méthode dans un fichier utils et utilisez la méthode où vous voulez. cheers
import { Linking, Alert, Platform } from 'react-native';
export const callNumber = phone => {
console.log('callNumber ----> ', phone);
let phoneNumber = phone;
if (Platform.OS !== 'android') {
phoneNumber = `telprompt:${phone}`;
}
else {
phoneNumber = `tel:${phone}`;
}
Linking.canOpenURL(phoneNumber)
.then(supported => {
if (!supported) {
Alert.alert('Phone number is not available');
} else {
return Linking.openURL(phoneNumber);
}
})
.catch(err => console.log(err));
};
**Mise à jour ( commentaire d'Andrey Patseiko) **
N'oubliez pas d'ajouter à Info.plist
->
<key>LSApplicationQueriesSchemes</key>
<array>
<string>tel</string>
<string>telprompt</string>
</array>
Et n'oubliez pas d'ajouter à Info.plist -> <key>LSApplicationQueriesSchemes</key> <array> <string>tel</string> <string>telprompt</string> </array>.
Merci beaucoup pour cette solution complète, et merci également à @AndreyPatseiko pour ses explications sur la clé Info.plist. Cette réponse est bien plus complète que celle qui a été étiquetée comme la "meilleure réponse".
import React, { Component } from "react";
import {Linking,Platform,TouchableOpacity,Text} from "react-native";
export default class MakeCall extends Component {
dialCall = (number) => {
let phoneNumber = '';
if (Platform.OS === 'android') { phoneNumber = `tel:${number}`; }
else {phoneNumber = `telprompt:${number}`; }
Linking.openURL(phoneNumber);
};
Render(){
return(
<TouchableOpacity
style={{
height: 30,
width: 30,
backgroundColor: "#329df4",
alignItems: "center",
justifyContent: "center",
borderRadius: 5
}}
onPress={()=>{this.dialCall(123456789)}}
>
<Text>Phone</Text>
</TouchableOpacity>
)
}
}
Pas une vraie Réponse, mais je n'ai pas assez de rep pour commenter.
Qu'en est-il react-native-phone-call o react-native-communications ?
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.