适用于Windows Store 8.1应用的Microsoft Band SDK?

时间:2015-03-04 05:26:56

标签: c# .net windows-runtime microsoft-band

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上运行?

2 个答案:

答案 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

enter image description here

我花了一些时间使用SDK,并厌倦了将乐队连接到我的手机并将应用程序部署到手机进行测试/调试,所以我最终创建了一个包装SDK的模拟器。我想你可以为丢失的位做类似的事情。模拟器使用套接字来发送预先录制的数据(使用文件,然后对动作进行动画处理)或者通过操作“#”频带来实现。使用鼠标/触摸,就像使用Windows Phone模拟器一样。

显然,这些只是临时解决方案或用于开发目的,直到发布与Store兼容的SDK。

enter image description here