我在XAML TextBlock中使用名称为StpTextBlock,按钮的名称为 btnPedometra 。
也在代码中:
它将返回此异常:
答案 0 :(得分:0)
本地变量
Pedometer readings
从await Pedometer.GetdefaultAsync()
分配后,仍为空
readings.Interval = 120;
抛出异常,因为readings
为空
您需要找出Pedometer.GetdefaultAsync()
返回null的原因。
答案 1 :(得分:0)
正如@ rudolf_franek的回答所说,你得到NullReferenceException
因为
Pedometer.GetdefaultAsync()返回的readings
为null
。
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。