• MSDC 4.3 接口规范(5)


    4.2.2 MSDC Manager 模块初始化链接

    4.2.2.1 接口函数

    在这里插入图片描述

    4.2.2.2 先决条件

    添加 MSDC 管理模块监听器

    4.2.2.3 描述

    添加事件侦听器后,应用程序必须使用初始化与MSDC Manager模块的连接初始化MSDC()。通过initializeMSDC(),应用程序提供以下功能:

    • 应用程序ID–应用程序的唯一ID,MSDC使用该ID对应用程序进行身份验证。

    • 选择接收报告–如果应用程序有兴趣选择接收,则通知MSDC

    报告。如果应用程序想要选择加入,则应将此值设置为TRUE,以便MSDC可以收集以下部分或全部接收相关信息:

    流媒体服务

    ◦ 客户端ID–设备的移动目录编号,或随机生成的ID。

    ◦ 服务ID–标识会话所属的服务。

    ◦ 会话开始和结束时间–用于确定日志记录的开始和停止时间。

    ◦ 接收或丢失的对象数–中间件定期收集对象数未能解码的,以及它试图在每个对象中解码的对象数测量周期。

    ◦ 网络小区ID–设备驻扎的全球小区ID(每次测量收集一次期间)。

    –文件交付服务

    ◦ 客户端ID–设备的移动目录编号,或随机生成的ID。

    ◦ 服务ID–标识会话所属的服务。

    ◦ 会话开始和结束时间–用于确定日志记录的开始和停止时间。

    ◦ 文件URI–应用程序尝试下载或捕获的文件的标识符。

    ◦ URL和对象的传递状态–URL的中间件日志和接收成功或失败的对象。

    ◦ 网络小区ID–设备驻扎的全球小区ID(每次测量收集一次期间)。

    注意:仅对Group Call服务感兴趣的应用程序必须将Reception Reporting Opt-in设置为FALSE,因为它无法选择MSDC的接收报告功能。除非由定义MSDC认为接收报告选择加入值为FALSE。

    •目标MSDC中间件包名称–此可选参数标识目标包名称(如果设备上安装了多个MSDC中间件)。如果未指定包名称,默认值为com.qualcomm。ltebc,它是高通®MSDC发布的中间件APK程序包名称。

    •MSDC中间件连接模式–标识连接首选项的可选参数。

    –仅本地–模式默认值。假设MSDC中间件位于同一设备上

    因为UI客户端和UI应用程序只对在装置当手机上没有运行远程MSDC中间件时,应用程序可能会选择此模式宽带产品存在。

    –仅远程–表示UI应用程序有兴趣连接到远程MSDC运行在移动宽带产品上的中间件。应用程序可以选择此模式时利用在家庭/办公室的移动宽带产品上运行的远程MSDC中间件。

    –Remote Preferred–表示UI应用程序首选与远程MSDC的连接运行在移动宽带产品上的中间件。但是,如果远程MSDC不是可用,UI应用程序可以连接到与UI位于同一设备上的本地MSDC中间件直到远程MSDC中间件再次可用。

    •以毫秒为单位的远程重试计时器–此可选参数仅适用于远程或远程首选连接模式。它指定连接到远程MSDC的重试时间连接丢失时使用中间件。默认值为5000毫秒。如果MSDC API接受请求,并且连接初始化成功,则MSDC API以initializeMSDCConfirmation进行响应。

    建议:为了缩短启动时间,应用程序应该尽可能地尽早调用initializeMSDCConfirmation。

    4.2.2.4 调用流程

    4.2.2.4.1 链接初始化

    在这里插入图片描述

    4.2.2.4.2 因为版本不匹配导致初始化失败

    在这里插入图片描述

    4.2.2.4.3 具有有限功能集支持的连接初始化

    即使支持的MSDC API版本不匹配,连接初始化也可能成功应用程序和MSDC之间。当应用程序使用的MSDC API版本高于MSDC使用的版本。

    在这种情况下,MSDC将只支持有限的功能。MSDC API通知应用程序msdcWarning()和警告代码warning_MSDC_REDUCED_FEATURE_SET在这里插入图片描述

    4.2.2.4.4 由于不允许运营商网络,连接初始化失败

    如果MSDC中间件已配置为仅在特定运营商网络中运行,则连接如果设备在MSDC所在网络以外的网络中运行,则初始化失败中间件已配置。在这种情况下,应用程序将收到错误代码错误_MSDC_CARRIER_CHANGE_NOT_ALLOWED。
    在这里插入图片描述

    4.2.2.2.5 由于未安装MSDC中间件,连接初始化失败

    如果应用程序在连接初始化和设备上未安装,应用程序将收到错误代码ERROR_MSDC_MIDDLEWARE_NOT_INSTALLED。

    在这里插入图片描述

    4.2.2.4.6由于MSDC中间件权限,连接初始化失败

    对于Android M HLOS设备,MSDC中间件需要授予权限。有默认情况下不授予权限或用户拒绝权限的场景。

    如果在初始化过程中拒绝或未授予所需权限,eBMS应用程序将收到错误代码EOORO_MSDC_APP_PERMISSIONS_NOT_GRANTED。
    在这里插入图片描述

    4.2.2.4.7连接初始化失败-其他原因

    如果连接初始化由于任何其他原因失败,MSDC API将使用msdcError()和错误代码 ERROR_MSDC_UNABLE_TO_INITIALIZE.

    在这里插入图片描述

  • 相关阅读:
    【王道】计算机组成原理第四章指令系统(四)
    jvm调优思路
    城商行该如何实施信息基础设施管理?
    Android学习笔记 79. 菜单和选择器
    PyTorch实现非极大值抑制(NMS)
    腾讯云轻量应用服务器部署(新手图文教程)
    快速弄懂C++中的this指针
    Linux :环境变量
    【pytorch】有关nn.EMBEDDING的简单介绍
    springboot事务的失效场景
  • 原文地址:https://blog.csdn.net/weixin_38498942/article/details/127103531