React Native 链接 openURL:使用特殊字符,如 # 和 *
React Native Linking openURL : Use special characters like # and *
我正在构建一个能够通过 USSD 代码(在非洲广泛使用)触发移动支付的 React Native 应用程序。
USSD 代码是 运行 来自任何 phone 的拨号程序,看起来像这样:例如 #144#
或 #1*1*4#
。
我的应用基本上应该将用户重定向到拨号器应用,并用 #144# 填充 phone 号码。
使用 Linking.openURL...
似乎无法将特殊字符发送到 android 拨号器应用程序
这个
Linking.openURL(`tel:+221786756172`)
工作得很好,我有一个重定向并且 phone 号码已填充。
但是这个
Linking.openURL(`tel:#144#`)
不起作用,拨号器应用程序的字段仍然是空的...
我尝试转义特殊字符,没有成功。
你们能以任何方式帮助我吗,那就是用户体验改进++
谢谢!!
先对USSD代码进行编码再使用。您可以使用以下功能:
const phoneShare = (number) => {
let phoneNumber = '';
if (Platform.OS === 'android') { phoneNumber = `tel:${encodeURIComponent(number)}`; }
else { phoneNumber = `telprompt:${number}`; }
Linking.openURL("" + phoneNumber + "");
};
如何使用?
<TouchableOpacity onPress={() => phoneShare('#144#')}>
<Text>Press Me</Text>
</TouchableOpacity>
我正在构建一个能够通过 USSD 代码(在非洲广泛使用)触发移动支付的 React Native 应用程序。
USSD 代码是 运行 来自任何 phone 的拨号程序,看起来像这样:例如 #144#
或 #1*1*4#
。
我的应用基本上应该将用户重定向到拨号器应用,并用 #144# 填充 phone 号码。
使用 Linking.openURL...
似乎无法将特殊字符发送到 android 拨号器应用程序这个
Linking.openURL(`tel:+221786756172`)
工作得很好,我有一个重定向并且 phone 号码已填充。
但是这个
Linking.openURL(`tel:#144#`)
不起作用,拨号器应用程序的字段仍然是空的...
我尝试转义特殊字符,没有成功。
你们能以任何方式帮助我吗,那就是用户体验改进++
谢谢!!
先对USSD代码进行编码再使用。您可以使用以下功能:
const phoneShare = (number) => {
let phoneNumber = '';
if (Platform.OS === 'android') { phoneNumber = `tel:${encodeURIComponent(number)}`; }
else { phoneNumber = `telprompt:${number}`; }
Linking.openURL("" + phoneNumber + "");
};
如何使用?
<TouchableOpacity onPress={() => phoneShare('#144#')}>
<Text>Press Me</Text>
</TouchableOpacity>