新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS發(fā)送一條文本信息
場景介紹

應用需要發(fā)送一條短信給一個指定的號碼時,使用本業(yè)務。發(fā)送信息需要經(jīng)過短信中心,短信中心號碼可以是運營商默認的,也可以由應用自己指定。
如果設備支持同時插入 2 張 SIM 卡,且 2 張 SIM 卡均在位時,短信會從默認 SIM 卡發(fā)出。應用可通過調用 getDefaultSmsSlotId 來獲取當前發(fā)短信的默認 SIM 卡位置。目前 API 暫不支持短信發(fā)送結果通知和送達報告。
接口說明
ShortMessageManager 為開發(fā)者提供短信管理功能,具體功能分類如下表。
| 功能分類 | 接口名 | 描述 | 所需權限 |
|---|---|---|---|
| 能力獲取 | hasSmsCapability() | 檢查當前設備是否支持短信收發(fā)。 | 無 |
| 獲取管理對象 | getInstance(Context context) | 獲取短信管理對象。 | 無 |
| 獲取默認短信卡 | getDefaultSmsSlotId() | 獲取默認短信卡對應卡槽ID。 | 無 |
| 長短信轉化 | splitMessage(String content) | 將超過140個字節(jié)的長短信(如中文70個字符,英文160個字符)拆分成多條短信。 | ohos.permission.SEND_MESSAGES |
| 發(fā)送短信 | sendMessage(String destinationHost, String serviceCenter, String content) | 發(fā)送單條短信。 | ohos.permission.SEND_MESSAGES |
| sendMultipartMessage(String destinationHost, String serviceCenter, ArrayList | 發(fā)送拆分后的多條短信。 | ohos.permission.SEND_MESSAGES |
開發(fā)步驟
- 調用 ShortMessageManager 的 getInstance 接口,創(chuàng)建/獲取短信收發(fā)管理對象。
- 調用 hasSmsCapability() 接口獲取當前設備短信收發(fā)能力,如果支持繼續(xù)下一步;如果不支持則無法收發(fā)短信。
- 發(fā)送短信。
// 創(chuàng)建短信收發(fā)管理對象
ShortMessageManager smManager = ShortMessageManager.getInstance(context);
// 檢查短信能力
if (!smManager.hasSmsCapability()) {
return;
}
// 如果設備支持收發(fā)短信,則繼續(xù)發(fā)送短信
// 發(fā)送短信前可先調用splitMessage()接口判斷拆分后的短信條數(shù),然后決定調用長短信或普通短信發(fā)送接口
ArrayList msgs = smManager.splitMessage(messageContent);
if (msgs.size() > 1) { // 長短信拆分發(fā)送
smManager.sendMultipartMessage(destinationNumber, serviceCenter, msgs);
} else { // 一般文本短信發(fā)送
smManager.sendMessage(destinationNumber, serviceCenter, messageContent);
} 分享文章:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS發(fā)送一條文本信息
分享URL:http://www.dlmjj.cn/article/coooosp.html


咨詢
建站咨詢
