当前位置: 首页 > news >正文

Android 15 获取网络切片信息的标准接口

相关术语

简称 全称 中文 说明
URSP UE Route Selection Policy 用户路由选择策略 URSP 是 5G 核心网(PCF)下发给 UE 的策略,用于指导应用流量如何路由到不同的网络切片或 PDU 会话。其包含多个规则,每条规则由 优先级、业务描述符(Traffic Descriptor) 和 路由选择描述符(Route Selection Descriptor) 组成

NSSAI Network Slice Selection Assistance Information 网络切片选择辅助信息

每个 S-NSSAI (Single)由 SST(Slice/Service Type) 和可选的 SD(Slice Differentiator) 组成:

- SST:1 字节,标识切片类型(如 eMBB、URLLC、mMTC)或自定义类型。

- SD:24 位,用于区分相同 SST 下的不同切片实例。

接口介绍

Android 提供通用的标准接口获取网络切片的信息(sliceInfo),公开的API是TelephonyManager.getNetworkSlicingConfiguration()。

调用链

  • TelephonyManager:getNetworkSlicingConfiguration() 
  • ITelephony:getSlicingConfig() 
  • PhoneInterfaceManager:getSlicingConfig() CMD_GET_SLICING_CONFIG

// TelephonyManager.java 
// getNetworkSlicingConfiguration()
ITelephony telephony = getITelephony();
telephony.getSlicingConfig(new ResultReceiver(null)

// PhoneInterfaceManager.java - 是ITelephony的实现类
// MainThreadHandler case CMD_GET_SLICING_CONFIG: {
request.phone.getSlicingConfig(onCompleted);

RIL到Modem的调用链:

1. RIL.java: getSlicingConfig()

2. radiodata_service.cpp: getSlicingConfig()

3. RmmDcEventHandler.cpp: getSliceInfo()

4. Modem MIPC:  MIPC_NW_GET_NSSAI_REQ/CNF

代码逻辑

TelephonyManager

TelephonyManager.java getNetworkSlicingConfiguration 接口介绍
TelephonyManager.java getNetworkSlicingConfiguration 接口介绍
//TelephonyManager.java getNetworkSlicingConfiguration()
ITelephony telephony = getITelephony();
telephony.getSlicingConfig(new ResultReceiver(null)
TelephonyManager.java getNetworkSlicingConfiguration()
TelephonyManager.java getNetworkSlicingConfiguration() 接口实现

ITelephony

frameworks/base/telephony/java/com/android/internal/telephony/ITelephony.aidl 

defination of getSlicingConfig in frameworks
defination of getSlicingConfig in frameworks

ITelephony接口备注
ITelephony接口

ITelephony.aidl getSlicingConfig 接口定义
ITelephony.aidl getSlicingConfig 接口定义

PhoneInterfaceManager

类的初始化

  • ITelephony 接口的实现类是 TeleService 中的 PhoneInterfaceManager,其构造方法会创建MainThreadHandler对象,获取网络切片的流程会使用到,而后会详细说明消息请求和处理的协作流程。

packages/services/Telephony/src/com/android/phone/PhoneInterfaceManager.java
PhoneInterfaceManager.java

/**
 * Initialize the singleton PhoneInterfaceManager instance.
 * This is only done once, at startup, from PhoneApp.onCreate().
 */
/* package */ static PhoneInterfaceManager init(PhoneGlobals app, FeatureFlags featureFlags) {
    synchronized (PhoneInterfaceManager.class) {
        if (sInstance == null) {
            sInstance = new PhoneInterfaceManager(app, featureFlags);
        } else {
            Lo
http://www.dtcms.com/a/76679.html

相关文章:

  • 《C语言中的ASCII码表:解锁字符与数字的桥梁》
  • Netty基础—Netty实现消息推送服务
  • go语言中数组、map和切片的异同
  • Mobile-Agent-V:通过视频引导的多智体协作学习移动设备操作
  • PCDN 在去中心化互联网中的角色
  • 个人.clang-format配置,适合Linux C/C++
  • 韩顺平教育-家居网购
  • 搜广推校招面经五十四
  • 【从0到1学Redis】Redis基础篇
  • 生信分析服务作图TCGA/GEO数据库挖掘细胞测序转录学代做指导辅导
  • 靶场(十三)---小白心得思路分享---Levram
  • 基于Netty实现高性能HTTP反向代理
  • Python-素数
  • 提示词prompt如何写
  • 前端项目打包构建优化
  • 苍穹外卖-阿里云OSS使用
  • jasypt-spring-boot-starter项目如何使用jasypt加密密码
  • Unity 接入抖音小游戏
  • HTML中required与aria required区别
  • 一条SQL在mysql数据库中经历的过程
  • VUE管理后台开发-vue-element-admin
  • 字符串模板(单文件组件、JSX)
  • IDEA+Docker插件一键部署SpringBoot项目到远程服务器
  • Three.js 阴影 (Shadow) 知识点整理
  • 图论入门【数据结构基础】:什么是树?如何表示树?
  • Redis——事务实现以及应用场景
  • 网络核心技术术语大全(2025版)
  • 机器学习——数据清洗(缺失值处理、异常值处理、数据标准化)
  • 设计模式之装饰器模式:原理、实现与应用
  • STC89C52单片机学习——第25节: [11-1]蜂鸣器