From 73f8f8df1a5946f53f4cb18f66d4716b6fa8cd95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B5=A9=E7=84=B6?= Date: Thu, 9 Jan 2025 20:30:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=96=87=E6=A1=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 刘浩然 --- .../telephony/telephony-sms.md | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/zh-cn/application-dev/telephony/telephony-sms.md b/zh-cn/application-dev/telephony/telephony-sms.md index 238f76d7f91..076f847acc2 100644 --- a/zh-cn/application-dev/telephony/telephony-sms.md +++ b/zh-cn/application-dev/telephony/telephony-sms.md @@ -139,6 +139,77 @@ struct JumpMessage { ``` +## 拉起短信应用(sms方式) + +### 使用场景 + +通过sms短信协议,可以创建指向短信收件人的超链接,方便用户通过网页或应用中的超链接直接跳转到短信应用。同时,支持在`sms:`的相关字段中定义短信的收件人、发送内容等,节省用户编辑短信的时间。 + +常见的应用场景举例如下: + +- 从网页拉起: + - 用户在网页上浏览,看到“发送短信”按钮,点击后会拉起短信应用,预先填写收件人号码、发送内容。 +- 从应用拉起: + - 移动应用中,用户点击“发送短信”按钮时,应用调用系统功能,拉起短信应用,预先填写收件人号码、发送内容。 + +### sms协议格式 + +sms协议标准格式如下: + +``` +sms:10601897289237?body=发送短信内容 +``` + ++ `sms:`:sms scheme,必填。 ++ `10601897289237`:收件人号码,选填。如果存在多个地址,用英文逗号分隔。 ++ `?`:短信内容声明开始符号。如果带短信内容参数,则必填。 ++ `body-value`:发送内容参数,选填。 + +### 拉起方开发步骤 + +#### 从网页拉起 + +网页中的超链接需要满足sms协议。示例如下: + +``` +发送短信 +``` + +实际开发时,需要将收件人号码替换为真实的号码,短信内容可以根据需要进行配置。 + +#### 从应用拉起 + +保证sms字符串传入uri参数即可,在应用中page页面可通过 getContext(this) 获取context,在ability中可通过this.context获取context。 + +```ts +@Entry +@Component +struct Index { + + build() { + Column() { + Button('发送短信') + .onClick(() => { + let context = getContext(this) as common.UIAbilityContext; + let exampleUrl = "sms:10086?body=%E5%8F%91%E9%80%81%E7%9F%AD%E4%BF%A1%E5%86%85%E5%AE%B9"; + + let want: Want = { + bundleName: 'com.ohos.mms', + action: 'ohos.want.action.viewData', + uri:exampleUrl, + } + + context.startAbility(want).then((data) => { + console.log("Success" + JSON.stringify(data)); + }).catch(() => { + console.log("error"); + }); + + }) + } + } +} +``` ## 相关实例 针对短信的使用,有以下相关实例可供参考: -- Gitee