W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
應(yīng)用需要發(fā)送一條短信給一個指定的號碼時,使用本業(yè)務(wù)。發(fā)送信息需要經(jīng)過短信中心,短信中心號碼可以是運(yùn)營商默認(rèn)的,也可以由應(yīng)用自己指定。
如果設(shè)備支持同時插入 2 張 SIM 卡,且 2 張 SIM 卡均在位時,短信會從默認(rèn) SIM 卡發(fā)出。應(yīng)用可通過調(diào)用 getDefaultSmsSlotId 來獲取當(dāng)前發(fā)短信的默認(rèn) SIM 卡位置。目前 API 暫不支持短信發(fā)送結(jié)果通知和送達(dá)報告。
ShortMessageManager 為開發(fā)者提供短信管理功能,具體功能分類如下表。
功能分類 | 接口名 | 描述 | 所需權(quán)限 |
---|---|---|---|
能力獲取 | hasSmsCapability() | 檢查當(dāng)前設(shè)備是否支持短信收發(fā)。 | 無 |
獲取管理對象 | getInstance(Context context) | 獲取短信管理對象。 | 無 |
獲取默認(rèn)短信卡 | getDefaultSmsSlotId() | 獲取默認(rèn)短信卡對應(yīng)卡槽ID。 | 無 |
長短信轉(zhuǎn)化 | 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<String> parts) | 發(fā)送拆分后的多條短信。 | ohos.permission.SEND_MESSAGES |
// 創(chuàng)建短信收發(fā)管理對象
ShortMessageManager smManager = ShortMessageManager.getInstance(context);
// 檢查短信能力
if (!smManager.hasSmsCapability()) {
return;
}
// 如果設(shè)備支持收發(fā)短信,則繼續(xù)發(fā)送短信
// 發(fā)送短信前可先調(diào)用splitMessage()接口判斷拆分后的短信條數(shù),然后決定調(diào)用長短信或普通短信發(fā)送接口
ArrayList<String> msgs = smManager.splitMessage(messageContent);
if (msgs.size() > 1) { // 長短信拆分發(fā)送
smManager.sendMultipartMessage(destinationNumber, serviceCenter, msgs);
} else { // 一般文本短信發(fā)送
smManager.sendMessage(destinationNumber, serviceCenter, messageContent);
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: