应用需要发送一条短信给一个指定的号码时,使用本业务。发送信息需要经过短信中心,短信中心号码可以是运营商默认的,也可以由应用自己指定。
如果设备支持同时插入 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 | 发送拆分后的多条短信。 | ohos.permission.SEND_MESSAGES |
// 创建短信收发管理对象
ShortMessageManager smManager = ShortMessageManager.getInstance(context);
// 检查短信能力
if (!smManager.hasSmsCapability()) {
return;
}
// 如果设备支持收发短信,则继续发送短信
// 发送短信前可先调用splitMessage()接口判断拆分后的短信条数,然后决定调用长短信或普通短信发送接口
ArrayList msgs = smManager.splitMessage(messageContent);
if (msgs.size() > 1) { // 长短信拆分发送
smManager.sendMultipartMessage(destinationNumber, serviceCenter, msgs);
} else { // 一般文本短信发送
smManager.sendMessage(destinationNumber, serviceCenter, messageContent);
}
分享名称:创新互联鸿蒙OS教程:鸿蒙OS发送一条文本信息
浏览路径:http://www.shufengxianlan.com/qtweb/news48/386048.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联