是什么导致DEVICE_COMMAND_RESPONSE_ERROR在微软带2上创建一个磁贴

时间:2016-03-03 23:27:06

标签: c# android xamarin.forms microsoft-band

我在Android设备上的Xamarin表单项目中使用了可移植库。

当我添加一个图块时,设备上的模态要求我允许添加图块,然后应用程序抛出此异常:

com.microsoft.band.BandException:发生未知错误DEVICE_COMMAND_RESPONSE_ERROR。

at C:\ Projects \ MSBand \ Microsoft.Band.Portable \ Microsoft.Band.Portable \ Tiles \ BandTileManager.cs中的Microsoft.Band.Portable.Tiles.BandTileManager + d__5.MoveNext()[0x0003d]:< / p>

似乎正在运行此代码:

https://github.com/mattleibow/Microsoft-Band-SDK-Bindings/blob/master/Microsoft.Band.Portable/Microsoft.Band.Portable/Tiles/BandTileManager.cs

#if __ANDROID__
            result = await ActivityWrappedActionExtensions.WrapActionAsync(activity =>
            {
                return Native.AddTileTaskAsync(activity, tile.ToNative());
            });

这是我的来源: https://gist.github.com/missaghi/c39099a52a7b13c463fa

1 个答案:

答案 0 :(得分:2)

您是否尝试过调试代码并查看错误发生在哪一行?

MoveNext通常是指IEnumerable(集合),它可能没有移动到集合中下一个成员所需的所有信息,或者集合可能为null(尚未从某种等待中返回)。

我可以看到你在创建对象时嵌套了await语句。

执行此操作可能会导致await线程的行为不同,并且可能没有创建具有所有必需属性的对象,以便将其添加到tile集合中。因此,首先尝试在主线程中创建/等待任何依赖项,然后将它们提供给对象创建代码。

此外,尝试将代码包装在try-catch块的不同部分中,以进一步深入了解错误发生的位置,并检索有关错误的更多信息。