UWP - 计步器异常

时间:2017-04-05 14:00:18

标签: c# xaml uwp-xaml

我在XAML TextBlock中使用名称为StpTextBlock,按钮的名称为 btnPedometra

也在代码中: enter image description here

它将返回此异常:enter image description here

2 个答案:

答案 0 :(得分:0)

本地变量

Pedometer readings
await Pedometer.GetdefaultAsync()

分配后,

仍为空

readings.Interval = 120;抛出异常,因为readings为空

您需要找出Pedometer.GetdefaultAsync()返回null的原因。

答案 1 :(得分:0)

正如@ rudolf_franek的回答所说,你得到NullReferenceException因为 Pedometer.GetdefaultAsync()返回的readingsnull

Pedometer.GetdefaultAsync()返回表示默认传感器的Pedometer对象。如果没有计步器传感器,则返回值为空。因此,在使用Pedometer时,请确保您的设备配有计步器传感器。在代码中,通过确定Pedometer.GetdefaultAsync()的返回值是null来检查这一点。

var readings= await Pedometer.GetDefaultAsync();
if (null == readings)
{
    MessageDialog showDialog = new MessageDialog("No pedometer available");
    await showDialog.ShowAsync();
}
else
{
    readings.ReportInterval = readings.MinimumReportInterval;
    readings.ReadingChanged += Readings_ReadingChanged;
}

有关详细信息,请参阅GitHub上的官方Pedometer sample