我正在开发一个Windows phone 8.1应用程序,它与Microsoft Band连接以发送一些通知。我需要执行一些后台任务,所以我添加了一个Windows 运行时组件项目。
我正在从后台任务(即从运行时组件项目)发送通知。但我收到一个错误。错误如下:
错误: System.TypeInitializationException:“Microsoft.Band.Store.StoreResources”的类型初始化程序引发异常。---> System.Exception:在 Microsoft.Band.Store.StoreResources..cctor() 的 Windows.UI.Xaml.Application.get_Current() 处发生灾难性故障(HRESULT 异常:0x8000FFFF (E_UNEXPECTED)) --- 结束内部异常堆栈跟踪 --- 在 Microsoft.Band.Store.BluetoothTransport.GetTransport(RfcommDeviceService service, ILoggerProvider loggerProvider, UInt16 maxConnectAttempts) 在 Microsoft.Band.Store.BluetoothTransport 的 Microsoft.Band.Store.StoreResources.get_RfComm_FromId_ReturnedNull()。<> c__DisplayClass1.b__0() 在 System.Threading.Tasks.Task`1.InnerInvoke() 在 System.Threading.Tasks.Task.Execute()
正如这个问题的答案中所说,前台应用程序不应该在后台应用程序尝试连接时尝试连接到乐队。
- 我的前台应用程序没有尝试连接,也没有与乐队有任何联系。
我认为错误是连接蓝牙的问题,因为我已经调试并找到了错误的位置:
public async void Run(IBackgroundTaskInstance taskInstance)
{
var deferral = taskInstance.GetDeferral();
try
{
Debug.WriteLine("Task Triggered " + DateTime.Now);
taskInstance.Canceled += (s, e) => { };
taskInstance.Progress = 0;
// Get the list of Microsoft Bands paired to the phone.
var pairedBands = await BandClientManager.Instance.GetBandsAsync();
if (pairedBands.Length < 1)
{
Debug.WriteLine(
"This sample app requires a Microsoft Band paired to your device. Also make sure that you have the latest firmware installed on your Band, as provided by the latest Microsoft Health app.");
return;
}
// This is the line I am getting the error
using (var bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]))
{
Debug.WriteLine("Tile creation started");
我的手环蓝牙与 Microsoft Health 应用程序连接良好,所以我想我的手机和手环的蓝牙没有问题。
我的Package.appmanifest for Foreground 应用程序如下:
后台任务的Package.appmanifest(Windows 运行时组件项目):
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest">
<Capabilities>
<DeviceCapability Name="bluetooth.rfcomm" xmlns="http://schemas.microsoft.com/appx/2013/manifest">
<Device Id="any">
<!-- Used by the Microsoft Band SDK -->
<Function Type="serviceId:A502CA9A-2BA5-413C-A4E0-13804E47B38F" />
<!-- Used by the Microsoft Band SDK -->
<Function Type="serviceId:C742E1A2-6320-5ABC-9643-D206C677E580" />
</Device>
</DeviceCapability>
那么可能的问题是什么?您能提供解决方案或解决此问题的方法吗?