问题
Description
Cannot open phone call with Linking.openURL('tel:+123456789')
Environment
Environment: OS: macOS High Sierra 10.13.4 Node: 8.5.0 Yarn: Not Found npm: 5.8.0 Watchman: Not Found Xcode: Xcode 9.3 Build version 9E145 Android Studio: 2.3 AI-162.4069837
Packages: (wanted => installed) react: 16.3.1 => 16.3.1 react-native: https://github.com/expo/react-native/archive/sdk-27.0.0.tar.gz => 0.55.2 expo: 27.0.1,
Steps to Reproduce
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
Expected Behavior
open phone call
Actual Behavior
[Android]Error message
attempt to invoke virtual method 'boolean java.lang.string.endsWith(java.
lang.String)' on a null object reference
回答1:
I found a solution: you need to convert 'tel:' to 'tel://'
回答2:
tel:
worked on Android
tel://
worked on Iphone
回答3:
tel://
works for iPhone and Android. RN 0.61
来源:https://stackoverflow.com/questions/50272908/cannot-open-phone-call-with-linking-openurl