如何为Flutter Windows应用的Capabilities添加蓝牙权限
Flutter Windows蓝牙权限配置方案
方法1:调试/本地运行场景直接修改原生清单
- 打开Flutter项目路径下的
windows/runner/Package.appxmanifest文件 - 找到文件中的
<Capabilities>节点,在节点内新增蓝牙相关权限配置(原有其他权限不要删除):
<Capabilities> <!-- 新增以下两项配置 --> <DeviceCapability Name="bluetooth" /> <DeviceCapability Name="radios" /> </Capabilities>
- 保存文件后重新执行
flutter run启动应用,配置即可生效。该方式修改仅对本地调试/直接编译的安装包生效
方法2:msix打包场景正确配置(解决配置不生效问题)
之前使用msix配置不生效是因为没有在msix配置项中正确声明权限,按以下步骤操作即可:
- 打开项目根目录的
pubspec.yaml文件,找到msix_config配置节点 - 在节点中新增
capabilities配置项,包含蓝牙所需权限:
msix_config: # 原有配置如display_name、publisher、identity_name等保持不变,新增以下字段 capabilities: "internetClient,bluetooth,radios"
- 保存配置后重新执行打包命令:
flutter pub run msix:create,新生成的msix安装包会自动注入蓝牙权限配置
效果验证
应用安装完成后,打开Windows设置→隐私和安全性→应用权限→蓝牙,在应用列表中可以看到你的应用的蓝牙权限开关,即表示配置成功,启动蓝牙扫描的崩溃问题会自动修复。
内容的提问来源于stack exchange,提问作者Khamidjon Khamidov
相关产品推荐
相关产品推荐

