11

描述

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

3 回答 3

20

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

于 2018-05-31T16:32:17.283 回答
7

tel:在安卓上工作

tel://在 iPhone 上工作

于 2019-04-15T02:49:08.757 回答
2

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

于 2020-05-18T07:42:18.687 回答