2016-06-28 13 views
6

Tôi đang cố mở số điện thoại bằng phần mở rộng. công trình liên kết với số chỉ điện thoạiPhản ứng gốc - số điện thoại gọi với số máy lẻ

thử với vài lựa chọn

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

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

Dialer chỉ quay số tiểu học và doesnt bao gồm mở rộng

tôi có thể viết một mã gốc và phơi bày phương pháp, nhưng đó sẽ là tùy chọn cuối cùng của tôi

Trả lời

16

Tôi biết đã đến muộn, nhưng bạn có thể thử thành phần này: react-native-communications.

Tính năng này hoạt động tốt trên cả iOS và Android.

Bạn phải nhập nó trong file bạn cần:

import Communications from 'react-native-communications'; 

và sau đó sử dụng nó như là bạn cần:

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

Tôi chỉ xem mã của thư viện này và tất cả những gì nó gọi là Linking.openURL rất giống nhau, vì vậy tôi không biết điều này có thể hữu ích như thế nào –

2

Đây là những gì tôi đã cố gắng,

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

Và JSX,

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

Làm việc tốt cho tôi. Bạn có thể tìm thấy thêm về liên kết tại đây, https://facebook.github.io/react-native/docs/linking.html

Các vấn đề liên quan