任何对BandClientManager的调用都会返回0个配对设备,而我不知道如何将手环与Windows 8.1机器“配对”。
显然,我可以轻松地让Microsoft Band Desktop在任何桌面上同步,但是我的Surface设备上没有蓝牙设备能够检测到手环。
代码示例明显显示了在Windows 8.1上连接。我错过了什么才能让手环出现?
我刚在我的Windows 10(桌面)机器上进行了快速测试。我通过蓝牙将我的手环与机器配对 - 因为它是一台旧机器,所以我使用基于USB的蓝牙适配器 - 并在Visual Studio 2013中创建了一个新的、空白的Windows 8.1商店项目。我应用了最新的Band SDK NuGet包(v1.3.10417.1)。我在MainPage中添加了一个按钮,并添加了以下单击处理程序:
private async void Button_Click(object sender, RoutedEventArgs e)
{
var bands = await BandClientManager.Instance.GetBandsAsync();
var band = bands.FirstOrDefault();
if (band != null)
{
var client = await BandClientManager.Instance.ConnectAsync(band);
string name = await client.GetFirmwareVersionAsync();
}
}
我在本地机器上(不是模拟器)启动了调试器应用程序,并能够枚举、连接和检索我的手环的固件版本。
我只有一台旧的Surface RT电脑(无法运行Visual Studio),目前所有台式机都在运行Windows 10,因此无法复制您的确切情况。 话虽如此,如果它可以在一个带有外部蓝牙适配器的预发布操作系统上的旧机器上工作,那么我会很惊讶它不能在一个集成了蓝牙适配器并运行已发布和稳定操作系统的新机器上运行(例如Surface)。
需要记住的一点是,手环仅会“记住”(即连接到)最后一个与其蓝牙配对的设备,无论这些设备是否仍显示手环作为已配对的设备(反之亦然)。 如果您在测试手环时切换使用手机应用和商店(桌面)应用,则必须将手环重新配对(而不是恢复出厂设置)到新设备。
我有同样的问题,我正在使用一台8.1戴尔笔记本电脑,它在蓝牙连接等方面看到了这个设备,但是当我尝试在我的应用程序中连接时,它无法看到这个设备。我甚至尝试将我的手环连接到Windows手机上,但是我的应用程序在连接时崩溃了。
奇怪的是,当它与我的iPhone配对时,它会连接两个设备。在我的蓝牙设置中有两个条目。当连接到笔记本电脑和Windows手机时,它显示为1,但偶尔另一个设备会短暂地出现然后消失,你无法连接它。这可能是一个误导,但有点奇怪...
代码没有做任何特殊的事情: var pairedBands = await Microsoft.Band.BandClientManager.Instance.GetBandsAsync(); if (pairedBands.Length < 1) { // 显示一些错误消息 return; }
pairedBands总是返回0。
Windows手机dll是8.1.0.0....救命啊!这让我发疯了。
您是否已经在Windows上安装了Band Sync应用并与手环配对?
我还没有在Windows 8.1机器上尝试过这种情况,但在Windows Phone 8.1中的Windows Store应用程序中使用BandClientManager没有任何问题。
Windows 8.1 Band Sync 应用程序 http://www.microsoft.com/en-us/download/details.aspx?id=44579