繁体   English   中英

以编程方式将WP8设备连接到蓝牙耳机

[英]Connect WP8 device to a bluetooth headset programmatically

我正在尝试使用NFC标签上存储的某些信息将Windows Phone 8手机与通用蓝牙耳机连接起来。 至于蓝牙部分,应该可以使用

PeerFinder.AlternateIdentities["Bluetooth:Paired"] = "";
var peers = await PeerFinder.FindAllPeersAsync();

并打电话

等待socket.ConnectAsync(peer.HostName,serviceName);

连接到特定设备。 但是,我无法获得serviceName 根据文档,设备应在PeerInformation.ServiceName返回广告服务,但我只会得到空白字符串。

是否有一些解决方法来获取受支持服务的名称(蓝牙配置文件)? 我特别需要使用A2DP配置文件连接bt设备,但是我无法获取(甚至无法在Internet上找到)正确的服务名称字符串。

ConnectAsync为调用程序打开一个套接字,以通过该套接字发送/接收数据。 那不是您想要的,而是希望操作系统连接到耳机服务。 在Win32中,这是BluetoothSetServiceState但是我不知道等效的“现代” API。

同样在Win32中,可以使用BluetoothAuthenticateDeviceEx引起配对, 并且 *可能*连接耳机服务-并具有完整的带外身份验证(如果由NFC通道提供)。 再次,我不知道一个等效的。

我想对任意端点(例如"15" )执行ConnectAsync可能会导致配对开始,然后配对将完成并启用Headset服务... ConnectAsync调用本身将失败,但这是它的副作用感兴趣。可能值得一试。

大概您是从NFC通讯中获取耳机设备的设备地址? 如果是这样,您可以按照Peter所描述的那样创建要在ConnectAsync使用的HostName对象: http : //peterfoot.net/PersistBluetoothAddressesOnWindowsPhone8.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM