我有一个由Windows Phone 8.1和Android手机操作的设备 . 由于这些手机中只有一部可以随时使用该设备,因此我们需要在完成使用后立即断开与设备的连接 .
在Android上,我们使用的库能够连接和断开,但在Windows Phone 8.1上我似乎只能连接,我找不到告诉手机断开设备的方法 . 我必须手动取消设备中的手机,
有没有人能够断开配对的蓝牙设备?如果有,怎么样?
谢谢!
在GattDeviceService上调用Dispose(),确保所有GattCharacteristic对象都为null,并且不要从GattCharacteristic注销ValueChanged事件处理程序 . 最后调用GC.Collect()(微软告诉这是WP8.1中的一个错误,应该在Win10中修复)
如果您通过StreamSocket进行通信,则Dispose()呼叫将断开连接 .
根据您的代码,using()语句可能是最优雅的方式 .
这可能对win8应用程序没有帮助,但对于从事UWP应用程序的任何人来说,这篇文章对于配对和取消配对很有帮助:https://msdn.microsoft.com/en-us/windows/uwp/devices-sensors/pair-devices
它的要点是你调用DeviceInformation.Pairing.UnpairAsync方法 . https://msdn.microsoft.com/library/windows/apps/windows.devices.enumeration.deviceinformationpairing.unpairasync
调用该方法弹出窗口对话框,要求用户取消配对设备的权限 .
3 回答
在GattDeviceService上调用Dispose(),确保所有GattCharacteristic对象都为null,并且不要从GattCharacteristic注销ValueChanged事件处理程序 . 最后调用GC.Collect()(微软告诉这是WP8.1中的一个错误,应该在Win10中修复)
如果您通过StreamSocket进行通信,则Dispose()呼叫将断开连接 .
根据您的代码,using()语句可能是最优雅的方式 .
这可能对win8应用程序没有帮助,但对于从事UWP应用程序的任何人来说,这篇文章对于配对和取消配对很有帮助:https://msdn.microsoft.com/en-us/windows/uwp/devices-sensors/pair-devices
它的要点是你调用DeviceInformation.Pairing.UnpairAsync方法 . https://msdn.microsoft.com/library/windows/apps/windows.devices.enumeration.deviceinformationpairing.unpairasync
调用该方法弹出窗口对话框,要求用户取消配对设备的权限 .