• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

鸿蒙OS 发送一条文本信息

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

场景介绍

应用需要发送一条短信给一个指定的号码时,使用本业务。发送信息需要经过短信中心,短信中心号码可以是运营商默认的,也可以由应用自己指定。

如果设备支持同时插入 2 张 SIM 卡,且 2 张 SIM 卡均在位时,短信会从默认 SIM 卡发出。应用可通过调用 getDefaultSmsSlotId 来获取当前发短信的默认 SIM 卡位置。目前 API 暂不支持短信发送结果通知和送达报告。

接口说明

ShortMessageManager 为开发者提供短信管理功能,具体功能分类如下表。

功能分类 接口名 描述 所需权限
能力获取 hasSmsCapability() 检查当前设备是否支持短信收发。
获取管理对象 getInstance(Context context) 获取短信管理对象。
获取默认短信卡 getDefaultSmsSlotId() 获取默认短信卡对应卡槽ID。
长短信转化 splitMessage(String content) 将超过140个字节的长短信(如中文70个字符,英文160个字符)拆分成多条短信。 ohos.permission.SEND_MESSAGES
发送短信 sendMessage(String destinationHost, String serviceCenter, String content) 发送单条短信。 ohos.permission.SEND_MESSAGES
sendMultipartMessage(String destinationHost, String serviceCenter, ArrayList<String> parts) 发送拆分后的多条短信。 ohos.permission.SEND_MESSAGES

开发步骤

  1. 调用 ShortMessageManager 的 getInstance 接口,创建/获取短信收发管理对象。

  1. 调用 hasSmsCapability() 接口获取当前设备短信收发能力,如果支持继续下一步;如果不支持则无法收发短信。

  1. 发送短信。

   // 创建短信收发管理对象
   ShortMessageManager smManager = ShortMessageManager.getInstance(context);

    
   // 检查短信能力
   if (!smManager.hasSmsCapability()) {
       return;
   }

    
   // 如果设备支持收发短信,则继续发送短信
   // 发送短信前可先调用splitMessage()接口判断拆分后的短信条数,然后决定调用长短信或普通短信发送接口
   ArrayList<String> msgs = smManager.splitMessage(messageContent);
   if (msgs.size() > 1) { // 长短信拆分发送
       smManager.sendMultipartMessage(destinationNumber, serviceCenter, msgs);
   } else { // 一般文本短信发送
       smManager.sendMessage(destinationNumber, serviceCenter, messageContent);
   }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
鸿蒙OS 获取当前蜂窝网络信号信息发布时间:2022-02-02
下一篇:
鸿蒙OS 发起一路呼叫发布时间:2022-02-02
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap