USSD在國(guó)內(nèi)并不常用,但是海外某些地區(qū)還在使用,本人對(duì)此理解有限,僅簡(jiǎn)要介紹下USSD是什么,功能是什么等基本知識(shí),希望可以幫助了解此功能。
- USSD全稱(chēng)是什么?
- USSD功能是什么?
- USSD格式是什么?
- USSD發(fā)起模式
- 代碼流程
USSD全稱(chēng)是什么?
非結(jié)構(gòu)化補(bǔ)充服務(wù)數(shù)據(jù)(Unstructured Supplementary Service Data)
USSD功能是什么?
當(dāng)用戶向運(yùn)營(yíng)商網(wǎng)絡(luò)發(fā)送消息時(shí),網(wǎng)絡(luò)將接收該消息,并通常以基本格式發(fā)回手機(jī),可以在手機(jī)顯示屏上輕松查看。是運(yùn)營(yíng)商和手機(jī)之間的一種通信協(xié)議。
USSD格式是什么?
典型的USSD消息以星號(hào)(*)開(kāi)始,后隨數(shù)字,以井號(hào)(#)結(jié)束。
USSD發(fā)起模式
- 手機(jī)端發(fā)起
用戶撥打一個(gè)號(hào)碼,例如手機(jī)撥打*13#。
- 網(wǎng)絡(luò)端發(fā)起
用戶收到網(wǎng)絡(luò)發(fā)來(lái)的一個(gè)推送消息。
代碼流程
- 手機(jī)端發(fā)起流程
判斷是mmiCode碼后,發(fā)起processCode流程;若不是,走正常呼叫流程:
GsmMmiCode mmi = GsmMmiCode.newFromDialString(networkPortion, this,
mUiccApplication.get(), wrappedCallback);
if (mmi == null) {
return mCT.dial(newDialString, uusInfo, intentExtras);
} else {
mPendingMMIs.add(mmi);
mMmiRegistrants.notifyRegistrants(new AsyncResult(null, mmi, null));
mmi.processCode();
return null;
}
個(gè)人能力有限,文章中有錯(cuò)誤或理解不到位的地方,歡迎指出,以便修正,謝謝。