使用Microsoft Band保持连接打开
本文关键字:连接 Microsoft Band 使用 | 更新日期: 2023-09-27 18:29:37
我正在开发一个应用程序,可以通过按下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;
}
好的,我就这个问题联系了Microsoft Band团队,这是他们的回应:
这是使用.net本机编译构建的UWP应用程序的已知问题>选项(发布版本的默认设置)。
我们有一个很快就会推出的解决方案。直到那时plz继续构建>调试。
问候
阿里
编辑:NuGet包已经按照承诺进行了更新,现在运行良好