我正在开发一个应用程序,通过按下Band上的按钮,用手机拍照。在发布模式下运行应用程序时会出现一个奇怪的问题。
当我在调试模式下运行应用程序时,我可以保持连接打开以侦听Band事件。 但是当我在发布模式下构建时,TileButtonPressed事件不再被触发。 我不知道这是一个错误还是我连接方式不好。 如果我以错误的方式连接,只要应用程序正在运行,我应该如何保持连接打开?
客户端变量用于类中的各种函数。
这是我用来连接和监听事件的代码。
private async void BandConnection()
{
btnRetry.Visibility = Visibility.Collapsed;
grStatus.Visibility = Visibility.Visible;
tbStatus.Text = "Looking for your Band...";
if (!await HasBand())
{
btnRetry.Visibility = Visibility.Visible;
tbStatus.Text = "No Band detected!";
return;
}
tbStatus.Text = "Connecting...";
client = await BandClientManager.Instance.ConnectAsync(getPairedDevice[0]);
tbStatus.Text = "Connected!";
string bandVersion = await client.GetFirmwareVersionAsync();
string bandHWversion = await client.GetHardwareVersionAsync();
Debug.WriteLine("Band FW version: " + bandVersion);
Debug.WriteLine("Band HW version: " + bandHWversion);
current = Window.Current.Dispatcher;
await client.TileManager.StartReadingsAsync();
client.TileManager.TileButtonPressed += async (sender, e) =>
{
var buttonId = e.TileEvent.ElementId;
var pageId = e.TileEvent.PageId;
var tileId = e.TileEvent.TileId;
Debug.WriteLine(buttonId + " - " + pageId + " - " + tileId);
if (buttonId == 1)
{
// Take picture
await current.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () => {
await TakePhotoAsync();
});
}
if (buttonId == 2)
{
// Record video
await current.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () => {
if (!_isRecording)
{
await StartRecordingAsync();
}
else
{
await StopRecordingAsync();
}
// After starting or stopping video recording, update the UI to reflect the MediaCapture state
UpdateCaptureControls();
});
}
if (buttonId == 3)
{
// Toggle flash
await current.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () => {
ToggleFlash();
});
}
if (buttonId == 4)
{
await current.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () => {
SwitchCamera();
});
}
};
grStatus.Visibility = Visibility.Collapsed;
}
答案 0 :(得分:1)
好的,我联系了Microsoft Band团队,关于这个问题,这是他们的回复:
这是使用.net本机编译>选项构建的UWP应用程序的已知问题(发布版本的默认设置)。
我们有一个解决方案,我们很快就会推出。在此之前,plz继续构建> debug。
此致
阿里
编辑:NuGet包已经按照承诺更新并且现在正常工作