既然RN支持跨平台链接,我想知道如何使用预设消息发送短信.根据文档(https://facebook.github.io/react-native/docs/linking.html#content):
尝试使用任何已安装的应用打开给定的网址.您可以使用其他URL,例如位置(例如"geo:37.484847,-122.148386"),联系人或可以使用已安装的应用程序打开的任何其他URL.
我的问题是,我用什么URI方案打开带有预定义消息的短信?它是跨平台的吗?
谢谢.
使用“ body”分隔符的平台之间存在差异,您可以使用以下代码使其起作用:
function openUrl(url: string): Promise<any> {
return Linking.openURL(url);
}
export function openSmsUrl(phone: string, body: string): Promise<any> {
return openUrl(`sms:${phone}${getSMSDivider()}body=${body}`);
}
function getSMSDivider(): string {
return Platform.OS === "ios" ? "&" : "?";
}
Run Code Online (Sandbox Code Playgroud)
小智 6
我创建了一个发送短信的钩子:
import { useCallback } from 'react'
import { Linking, Platform } from 'react-native'
export default () => {
const onSendSMSMessage = useCallback(async (phoneNumber, message) => {
const separator = Platform.OS === 'ios' ? '&' : '?'
const url = `sms:${phoneNumber}${separator}body=${message}`
await Linking.openURL(url)
}, [])
return onSendSMSMessage
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9887 次 |
| 最近记录: |