如何在Delphi 10.2.2中通过蓝牙实现App Tethering功能?
解决Delphi Tokyo 10.2.2 App Tethering蓝牙连接问题
我之前在Delphi Tokyo里折腾App Tethering蓝牙连接时也遇到过类似的困境,官方文档确实说得太笼统了。结合我踩过的坑,给你整理一套可行的步骤,应该能帮你搞定:
一、先搞定系统层面的蓝牙配对与权限
- 确保Windows和Android设备的蓝牙都已开启,并且完成系统级配对(这是关键!很多人忽略了这一步,直接在App里折腾只会白费功夫)。配对后可以在系统蓝牙设置里确认设备已连接。
- Windows端:检查防火墙是否允许你的应用程序通过蓝牙通信。可以手动添加入站/出站规则,允许你的exe文件使用蓝牙协议;如果是给客户部署,建议在安装脚本里自动创建这条规则,避免客户误删。
- Android端:在
AndroidManifest.xml里必须添加以下权限(Delphi Tokyo不会自动帮你加全):
注意:Android 6.0+还需要在App运行时动态申请位置权限,因为蓝牙扫描依赖位置服务。<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
二、Delphi项目中的组件配置与代码调整
- 组件添加:在Windows和Android的Form上都添加
TTetheringManager、TTetheringAppProfile(如果需要共享数据/调用方法),然后分别添加TTetheringBluetoothAdapter。 - 初始化蓝牙适配器:在Form的创建事件里初始化并启用蓝牙适配器,示例代码如下:
procedure TMainForm.FormCreate(Sender: TObject); var BluetoothAdapter: TTetheringBluetoothAdapter; begin // 检查蓝牙是否被支持 if TTetheringBluetoothAdapter.IsSupported then begin BluetoothAdapter := TTetheringBluetoothAdapter.Create(nil); // 添加到TetheringManager的适配器列表 TetheringManager1.CommunicationManager.Adapters.Add(BluetoothAdapter); // 开启自动连接与设备发现 TetheringManager1.AutoConnect := True; TetheringManager1.DiscoverManagers; end else begin ShowMessage('当前设备不支持蓝牙连接'); end; end; - 调试事件:给
TetheringManager1的OnManagerDiscovered事件加个处理函数,用来确认是否检测到对方设备:procedure TMainForm.TetheringManager1ManagerDiscovered(Sender: TObject; const AManagerInfo: TTetheringManagerInfo); begin ShowMessage('发现设备:' + AManagerInfo.ManagerName); end;
三、常见坑点排查
- 如果
TTetheringBluetoothAdapter.IsSupported返回False:Windows端可能是蓝牙驱动未正确安装,或者设备蓝牙被禁用;Android端可能是设备不支持蓝牙,或者权限未配置全。 - 设备已配对但无法发现:试着在系统蓝牙设置里手动连接一次设备,再重启App;Delphi Tokyo的蓝牙发现有时需要一点延迟,可以在
DiscoverManagers前加个短暂的延时(比如Sleep(1000))。 - 蓝牙连接不稳定:尽量避免在蓝牙信号弱的环境测试,另外Delphi Tokyo的App Tethering蓝牙模块有小bug,遇到连接中断可以尝试重启TetheringManager:
TetheringManager1.StopDiscovery; TetheringManager1.DiscoverManagers;
内容的提问来源于stack exchange,提问作者MichaSchumann
相关产品推荐
相关产品推荐

