Skip to content

media · 媒体代理 ​

源码路径

src/main/java/com/lody/virtual/client/hook/proxies/media/(router/ + session/ 两个子目录)

拦截媒体相关系统服务,分两个子代理:

子代理 ​

子目录拦截服务职责
router/media_routerMediaRouter(媒体路由,投屏/音频输出设备选择),改写 callingUid/包名
session/media_sessionMediaSessionManager(媒体会话,通知栏播放控制),改写 callingUid/包名

关键行为 ​

两者均继承 BinderInvocationProxy,各拦一个方法改写调用方包名,VirtualXposed 不重实现媒体路由/会话服务,沿用真实系统但隔离身份。

拦截方法清单 ​

从两个子代理源码提取:

子代理拦截方法改写
MediaRouterServiceStubregisterClientAsUsercallingPkg
SessionManagerStubcreateSessioncallingPkg

均用 ReplaceCallingPkgMethodProxy,把调用方包名替换为虚拟包名后放行原方法。

拦截与转发流程 ​

基于 VirtualApp 与 epic,仅供学习研究。VirtualApp 禁止商用。