Невозможно начать телефонный звонок с Linking.openURL

Описание

Невозможно начать телефонный звонок с Linking.openURL ('tel: +123456789')

Среда

Среда: ОС: macOS High Sierra 10.13.4 Узел: 8.5.0 Пряжа: не найдено npm: 5.8.0 Сторож: не найден Xcode: Xcode 9.3 Версия сборки 9E145 Android-студия: 2.3 AI-162.4069837

Пакеты: (требуется => установлено) реагировать: 16.3.1 => 16.3.1 реагировать-родной: https://github.com/expo/react-native/archive/sdk-27.0.0.tar.gz => 0.55.2 экспо: 27.0.1,

Действия по воспроизведению

import ...
export default class App extends React.Component {

_pressCall=()=>{
    const url='tel:+123456789'
    Linking.openURL(url)
}

render() {
    return (
        <View style = {styles.container}>
            <Button title='call' onPress = {this._pressCall}/>
        </View>
    );
}
}

https://snack.expo.io/@kikoololmdrxdd/test-linking-phone-call

Ожидаемое поведение

открытый телефонный звонок

Фактическое поведение

[Android]Error message
attempt to invoke virtual method 'boolean java.lang.string.endsWith(java.
lang.String)' on a null object reference

Я нашел решение: вам нужно преобразовать tel: в tel: //

Riki Chou 10.05.2018 15:24

Большое спасибо, ты спас мне день

Leonardo Oliveira 16.05.2018 16:33

Спасибо, вы должны опубликовать ответ и отметить его как принятый.

Felipe Guajardo 30.05.2018 23:11
8
3
10 989
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Я нашел решение: вам нужно преобразовать tel: в tel: //

`if (/tel\:/.test(navState.url)) {Linking.openURL (tel://${navState.url.split('tel:').pop()}) this._webViewRef.stopLoading ()}` Я использую этот код, но все же мое приложение дает сбой.

sidverma 03.03.2021 17:28

tel: работал на Android

tel:// работал на Iphone

tel:// работает на iPhone и Android. RN 0.61

Другие вопросы по теме