android Telephony学习 --- 第九篇 USSD简介

USSD在国内并不常用,但是海外某些地区还在使用,本人对此理解有限,仅简要介绍下USSD是什么,功能是什么等基本知识,希望可以帮助了解此功能。

  • USSD全称是什么?
  • USSD功能是什么?
  • USSD格式是什么?
  • USSD发起模式
  • 代码流程

USSD全称是什么?

非结构化补充服务数据(Unstructured Supplementary Service Data)

USSD功能是什么?

当用户向运营商网络发送消息时,网络将接收该消息,并通常以基本格式发回手机,可以在手机显示屏上轻松查看。是运营商和手机之间的一种通信协议。

USSD格式是什么?

典型的USSD消息以星号(*)开始,后随数字,以井号(#)结束。

USSD发起模式

  • 手机端发起

用户拨打一个号码,例如手机拨打*13#。

  • 网络端发起

用户收到网络发来的一个推送消息。

代码流程

  • 手机端发起流程

判断是mmiCode码后,发起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;
}


个人能力有限,文章中有错误或理解不到位的地方,欢迎指出,以便修正,谢谢。

你可能感兴趣的:(android Telephony学习 --- 第九篇 USSD简介)