2016-06-28 2 views
6

拡張子付きの電話番号を開こうとしています。電話番号だけで リンクする作品は拡張子の付いたネイティブコールの電話番号

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

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

ダイヤラのみダイヤルをプライマリ番号とdoesntのは、私はネイティブコードを書くと方法を公開し、それは次のようになり可能性が延長

が含まれ、いくつかのオプションを試してみました私の最後のオプション

答えて

16

私はそれが遅いと知っていますが、このコンポーネントを試すことができます:react-native-communications

iOSとAndroidの両方でうまく動作します。

あなたはあなたが必要とするファイルにインポートする必要があります。

import Communications from 'react-native-communications'; 

、その後、あなたが必要としてそれを使用する:

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

私はこのライブラリのコードを見ていますが、これはまったく同じLinking.openURLを呼び出しているので、これはどのように役立つのでしょうか –

2

これは、私が試したものを

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)); 
} 

ですそして、JSX、

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

私のためにうまく動作します。 ここでリンクするともっと詳しく知ることができます https://facebook.github.io/react-native/docs/linking.html

関連する問題