2016-06-28 6 views
6
anrufen

Ich versuche, Telefonnummer mit der Erweiterung zu öffnen. Verknüpfung funktioniert nur mit TelefonnummerReagieren nativ - Telefonnummer mit der Nebenstelle

Versuchte mit wenigen Optionen

Linking.openURL('tel:XXXXXXXXX,XXX'); 

Linking.openURL('tel:'+ encodeURIComponent('XXXXXXXXX,XXX')); 

Dialer nur wählt primäre Nummer und umfassen nicht Verlängerung

Ich kann einen nativen Code schreiben, und das Verfahren aussetzen, aber das wäre Meine letzte Option

Antwort

16

Ich weiß, es ist spät, aber Sie können diese Komponente versuchen: react-native-communications.

Es funktioniert gut sowohl auf iOS und Android.

Sie haben es in der Datei importieren Sie benötigen:

import Communications from 'react-native-communications'; 

und dann verwenden, wie Sie benötigen:

<TouchableOpacity onPress={() => Communications.phonecall(phoneNumbers[0].number, true)}> 
+2

Ich sah mir nur den Code der Bibliothek, und alles, was es tut, ist das gleiche Linking.openURL aufrufen, so dass ich nicht weiß, wie dies in diesem Fall hilfreich sein kann –

2

Dies ist, was ich versuchte,

callNumber = (url) =>{ 
    Linking.canOpenURL(url).then(supported => { 
    if (!supported) { 
    console.log('Can\'t handle url: ' + url); 
    } else { 
    return Linking.openURL(url); 
    } 
}).catch(err => console.error('An error occurred', err)); 
} 

Und die JSX,

<Text onPress={()=> this.callNumber(`tel:+91${user.number}`)} 
     style = {[styles.value,{marginLeft : 5,textDecorationLine :'underline'}]}>{`+91 ${user.number}`}</Text> 
</View> 

Funktioniert gut für mich. Sie können mehr über die Verknüpfung hier finden, https://facebook.github.io/react-native/docs/linking.html

Verwandte Themen