Windows 11 22H2下PhoneLineTransportDevice权限请求返回DeniedBySystem问题
解决Windows 11 22H2中PhoneLineTransportDevice.RequestAccessAsync返回DeniedBySystem的问题
可能的原因及解决方案:
1. 检查应用清单的权限声明
确保你的Package.appxmanifest中正确声明了相关权限,Windows 11下需明确添加:
<Capabilities> <DeviceCapability Name="phoneLineTransport" /> <DeviceCapability Name="phoneCall" /> </Capabilities>
若应用依赖后台任务,还需补充后台任务声明:
<Extensions> <uap:Extension Category="windows.backgroundTasks" EntryPoint="YourNamespace.YourBackgroundTask"> <uap:BackgroundTasks> <uap:Task Type="phoneCall" /> </uap:BackgroundTasks> </uap:Extension> </Extensions>
2. 调整系统隐私权限
Windows 11对电话权限管控更严格,手动检查并开启:
- 打开设置 > 隐私和安全性 > 电话
- 确认你的应用在「允许应用访问你的电话」列表中处于开启状态
- 桌面桥接应用需额外开启「允许桌面应用访问你的电话」选项
3. 确认电话服务组件状态
PhoneLineTransportDevice API依赖系统电话服务,检查是否正常运行:
- 按下Win+R,输入
services.msc打开服务管理器 - 找到Phone Service,设置启动类型为「自动」并确保服务处于「正在运行」状态
4. 尝试兼容模式运行(桌面应用)
右键应用程序或快捷方式,选择属性 > 兼容性:
- 勾选「以兼容模式运行这个程序」,选择「Windows 10」
- 勾选「以管理员身份运行此程序」,重新测试权限请求
5. 安装最新Windows更新
Windows 11 22H2部分版本存在相关bug,检查并更新系统:
- 打开设置 > Windows更新,安装所有可用更新(包括可选更新)
6. 重置应用权限状态
若以上方法无效,重置应用权限后重试:
- 打开设置 > 应用 > 安装的应用,找到目标应用
- 点击「高级选项」,滚动到「重置」区域,点击「重置」(注意备份应用数据)
内容的提问来源于stack exchange,提问作者Taylor Yi
相关产品推荐
相关产品推荐

