Microsoft Band SDK Preview的documentation声称它支持WinRT 8.1 for Windows应用程序,但在将NuGet包(1.3.10219-preview)下载到我的Windows Store C#项目后,我遇到了一些主要障碍:< / p>
首先,当我在立即添加NuGet包后尝试构建时,我收到了以下编译错误:
Payload file 'C:\...\packages\Microsoft.Band.1.3.10219-preview\lib\portable-win81+wpa81\Microsoft.Band.Store\Tiles\AddTilePage.xbf' does not exist.
Payload file 'C:\...\packages\Microsoft.Band.1.3.10219-preview\lib\portable-win81+wpa81\Microsoft.Band.Store\Microsoft.Band.Store.xr.xml' does not exist.
其次,文档说要将以下无效的XML添加到Package.appxmanifest
:
<DeviceCapability Name="bluetooth.rfcomm">
<Device Id="any">
<!-- Used by the Microsoft Band SDK Preview -->
<Function Type="serviceId:A502CA9A-2BA5-413C-A4E0-13804E47B38F" />
<!-- Used by the Microsoft Band SDK Preview -->
<Function Type="serviceId:C742E1A2-6320-5ABC-9643-D206C677E580" />
</Device>
</m2:DeviceCapability>
第三,Microsoft.Band.Store.dll
程序集不包含BandClientManager
,因此我无法获得文档中所述的对乐队的引用。
我能够通过从wpa81 NuGet包中复制丢失的文件并分别将m2:
前缀添加到所有XML元素来解决第一和第二个问题,但我不知道如何绕过第三个问题问题。使用.NET Reflector时,看起来某些内部类中的功能可能会被锁定,但我在公共类型中看不到任何内容。
无论如何都可以在Windows上使用它,还是仅在Windows Phone上运行?
答案 0 :(得分:1)
最初的Microsoft Band SDK Preview(1.3.10219-preview)主要针对Windows Phone,因此不包含专门针对Windows应用商店应用的NuGet目标。它允许在以Windows Phone和Windows Store为目标的便携式库中捆绑与Band相关的逻辑 - 尽管遇到了包装问题 - 但不允许在Windows应用商店中创建IBandClient实例。
答案 1 :(得分:0)
新SDK现在支持Windows应用商店应用:)
------- ------ OLD
我能够通过一点点反射访问我的Windows应用商店应用中的BandClientManager,并且可以访问SDK中的所有内容,除了订阅传感器数据,因为该部分使用的RfcommDeviceService.Device类型只能在Windows Phone。
也可以使用套接字API进行连接,但接下来需要读取和写入数据并解释它:P
我花了一些时间使用SDK,并厌倦了将乐队连接到我的手机并将应用程序部署到手机进行测试/调试,所以我最终创建了一个包装SDK的模拟器。我想你可以为丢失的位做类似的事情。模拟器使用套接字来发送预先录制的数据(使用文件,然后对动作进行动画处理)或者通过操作“#”频带来实现。使用鼠标/触摸,就像使用Windows Phone模拟器一样。
显然,这些只是临时解决方案或用于开发目的,直到发布与Store兼容的SDK。