Не удается открыть телефонный звонок с Linking.openURL

Описание

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

Среда

Среда: ОС: macOS High Sierra 10.13.4 Узел: 8.5.0 Пряжа: Не найдено npm: 5.8.0 Сторож: Не найдено Xcode: Xcode 9.3 Версия сборки 9E145 Android Studio: 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

4 ответа

Решение

Я нашел решение: вам нужно конвертировать 'tel:' в 'tel://'

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

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

tel:// работает для iPhone и Android. RN 0.61

Это сработало для меня. Я нашел решение: вам нужно преобразовать «tel:» в «tel://».

Связывание.openURL(tel://${phone})

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