无法使用Linking.openURL打开电话

时间:2018-05-10 12:22:00

标签: android react-native expo react-native-linking

描述

无法使用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

3 个答案:

答案 0 :(得分:7)

我找到了一个解决方案:你需要转换电话:&#39;到电话://&#39;

答案 1 :(得分:1)

tel://适用于iPhone和Android。 RN 0.61

答案 2 :(得分:0)

tel:在Android上运行

tel://在Iphone上工作