-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Description
在 Shadow 框架中启动 PMVpnService 时,系统的 VPN 权限申请弹窗未正常显示,而在非 Shadow 环境下集成 SDK 则可以正常触发。该问题涉及 Android 的 VpnService 权限机制与 Shadow 框架的兼容性。
问题描述
• 目标 Service: PMVpnService(已声明 android:permission="android.permission.BIND_VPN_SERVICE" 权限)。
• 正常情况(非 Shadow 环境): 启动 Service 时,系统自动弹出 VPN 权限申请弹窗,用户授权后 VPN 连接正常建立。
• 异常情况(Shadow 框架): 启动 Service 时,系统弹窗未出现,导致 VPN 权限无法获取,服务无法正常工作。
• 相关配置: Service 在 AndroidManifest.xml 中的声明如下:

疑问
- 权限弹窗触发机制: Shadow 框架是否拦截或修改了系统用于触发 VPN 权限申请的 Intent(如 VpnService.prepare() 返回的 Intent)?
- Service 代理方式: Shadow 框架代理 VpnService 时,是否需要特殊处理以保持系统级的权限交互流程?
- 已知解决方案: 是否有配置或 API 可强制 Shadow 框架转发权限申请请求到系统?
补充信息
• 从日志分析,Service 已通过 Shadow 启动,但系统未收到权限申请请求。
• 期望行为: 在 Shadow 中启动 VPN Service 时,能像原生环境一样弹出系统授权对话框。
参考: 正常环境下,VPN 权限申请需通过 VpnService.prepare() 检查并触发系统弹窗,效果如下
Metadata
Metadata
Assignees
Labels
No labels