HarmonyOS NEXT开辟实战:短信服务

打印 上一主题 下一主题

主题 989|帖子 989|积分 2967

鸿蒙开辟实战往期文章必看:

HarmonyOS NEXT应用开辟性能实践总结
一分钟了解”纯血版!鸿蒙HarmonyOS Next应用开辟!
“非常详细的” 鸿蒙HarmonyOS Next应用开辟学习门路!(从零底子入门到醒目)
 “一杯冰美式的时间” 了解鸿蒙HarmonyOS Next应用开辟路径!

场景先容

短信服务模块提供了管理短信的一些底子能力,包括创建、发送短信,获取、设置发送短信的默认SIM卡槽ID,获取、设置短信服务中心地点,以及查抄当前设备是否具备短信发送和接收能力等。
根本概念



  • 短信服务
    即SMS(Short Messaging Service),是一种存储和转发服务。用户的移动电话可以通过它进行相互收发短信,内容以文本、数字或二进制非文本数据为主。发送方的信息通过短信服务中心进行储存并转发给接收方。
  • 短信服务中心
    即SMSC(Short Message Service Center),负责在基站和移动设备间中继、储存或转发短消息。移动设备到短信服务中心的协议能传输来自移动设备或朝向移动设备的短消息,协议内容服从GSM 03.40协议。
  • 协议数据单位
    即PDU(Protocol Data Unit),PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS-2编码。7-bit编码用于发送平凡的ASCII字符,8-bit编码通常用于发送数据短信,UCS-2编码用于发送Unicode字符。
束缚与限制


  • 仅支持在尺度系统上运行。
  • 需授予发送短信权限且插入SIM卡才可成功发送短信。
接口阐明

阐明
为了包管应用的运行服从,大部门API调用都是异步的,对于异步调用的API均提供了callback和Promise两种方式,以下示例均采用callback函数,更多方式可以查阅API参考。
接口名描述sendShortMessage(options: SendMessageOptions, callback: AsyncCallback<void>): void发送文本或数据SMS消息。createMessage(pdu: Array<number>, specification: string, callback: AsyncCallback<ShortMessage>): void基于协议数据单位(PDU)和指定的SMS协议创建SMS消息实例。getDefaultSmsSlotId(callback: AsyncCallback<number>): void获取用于发送短信的默认SIM卡。setSmscAddr(slotId: number, smscAddr: string, callback: AsyncCallback<void>): void根据指定的插槽ID设置短信服务中心的地点。getSmscAddr(slotId: number, callback: AsyncCallback<string>): void根据指定的插槽ID获取短信服务中心地点。 开辟步骤

若必要在应用内实现跳转到短信编辑的功能,并且必要携带编辑内容和收件人号码,可以通过调用元能力 startAbility 接口指定号码并跳转到发送短信页面的方式实现。
  1. // 示例代码
  2. import { common, Want } from '@kit.AbilityKit';
  3. const MMS_BUNDLE_NAME = "com.ohos.mms";
  4. const MMS_ABILITY_NAME = "com.ohos.mms.MainAbility";
  5. const MMS_ENTITIES = "entity.system.home";
  6. export class Contact {
  7.     contactsName: string;
  8.     telephone: number;
  9.     constructor(contactsName: string, telephone: number) {
  10.         this.contactsName = contactsName;
  11.         this.telephone = telephone;
  12.     }
  13. }
  14. @Entry
  15. @Component
  16. struct JumpMessage {
  17.     private context = getContext(this) as common.UIAbilityContext;
  18.     startMMSAbilityExplicit() {
  19.         // 这里完善联系人和号码;姓名主要是通过手机号来查询实际联系人名称,因此这种方式还是以手机号码为主。
  20.         let params: Array<Object> = [new Contact("张三", 13344556677)];
  21.         let want: Want = {
  22.             bundleName: "com.ohos.mms",
  23.             abilityName: "com.ohos.mms.MainAbility",
  24.             parameters: {
  25.                 contactObjects: JSON.stringify(params),
  26.                 pageFlag: "conversation",
  27.                 // 这里填写短信内容。
  28.                 content: "我是短信具体内容"
  29.             }
  30.         };
  31.         this.context.startAbilityForResult(want).then((data) => {
  32.             console.log("Success" + JSON.stringify(data));
  33.         }).catch(() => {
  34.             console.log("error");
  35.         });
  36.     }
  37.     build() {
  38.         Row() {
  39.             Column() {
  40.                 Button('发送短信')
  41.                   .onClick(() => {
  42.                       this.startMMSAbilityExplicit();
  43.                   })
  44.             }
  45.             .width('100%')
  46.         }
  47.         .height('100%')
  48.     }
  49. }
复制代码
最后

如果你是一名有经验的资深Android移动开辟、Java开辟、前端开辟、对鸿蒙感爱好以及转行人员
 鸿蒙Next全栈全套开辟学习笔记希望这一份鸿蒙学习文档可以或许给大家带来帮助~
这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开辟必把握的焦点知识要点,内容包含了(ArkTS、ArkUI开辟组件、Stage模型、多端部署、分布式应用开辟、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、(南向驱动、嵌入式等)鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。
门路图适合人群:
IT开辟人员:想要拓展职业边界
零底子小白:鸿蒙爱好者,希望从0到1学习,增长一项技能。
技术提升/进阶跳槽:发展瓶颈期,提升职场竞争力,快速把握鸿蒙技术

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天津储鑫盛钢材现货供应商

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表