Skip to main content
 首页 » 编程设计

c#之MS Band 继续在锁屏上读取值

2024年02月05日30JustinYoung

我尝试从手环读取加速度计值,即使

  • 手机已锁定
  • 应用没有焦点

在应用获得焦点时读取值效果很好。 但是,如果我按下“Windows”按钮并在其他应用程序上工作,则不会再触发任何 ChangedEventArgs。

我想收集一整天的加速度计和陀螺仪数据,以确定佩戴手环的用户在做什么。 (吃喝等模式识别)

这是否可以使用默认的 Microsoft.Band SDK?

我的代码

            IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync(); 
            IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]); 
            if (bandClient.SensorManager.HeartRate.GetCurrentUserConsent() != UserConsent.Granted) 
            { 
                await bandClient.SensorManager.Gyroscope.RequestUserConsentAsync(); 
            } 
 
            bandClient.SensorManager.Gyroscope.ReadingChanged += Gyroscope_ReadingChanged; 
            await bandClient.SensorManager.Gyroscope.StartReadingsAsync(); 

请您参考如下方法:

除了使用 TimeTrigger 后台任务,您还可以探索 DeviceUseTrigger 以获得与 band 的“近乎永久”连接。虽然我自己还没有尝试过,但下面的文章详细介绍了必要的步骤。考虑到您的要求,我认为这是一种可行的方法?

http://www.codeproject.com/Tips/1036512/Achieveing-Indefinite-Background-Execution-with-th