首页 > 解决方案 > 无法使用 Linking.openURL 打开电话

问题描述

描述

无法使用 Linking.openURL('tel:+123456789') 打开电话

环境

环境:操作系统:macOS High Sierra 10.13.4 节点:8.5.0 纱线:未找到 npm:5.8.0 守望者:未找到 Xcode:Xcode 9.3 Build 版本 9E145 Android Studio:2.3 AI-162.4069837

包:(需要 => 已安装)反应:16.3.1 => 16.3.1 react-native: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

标签: androidreact-nativeexporeact-native-linking

解决方案


我找到了解决方案:您需要将 'tel:' 转换为 'tel://'


推荐阅读