【发布时间】:2022-10-18 00:27:24
【问题描述】:
这在 Android 中完美运行。
public async Task<double> UploadData()
{
double steps = 0.0;
await _healthData.GetSteps((totalSteps) =>
{
SentrySdk.CaptureMessage("totalSteps = " + totalSteps);
MainThread.BeginInvokeOnMainThread(() =>
{
steps = totalSteps;
//Task.Delay(1000);
});
});
SentrySdk.CaptureMessage("UploadData steps = " + steps);
var fitness = new Fitness();
fitness.Steps = steps;
await _restService.SaveItemAsync(fitness, true);
return steps;
}
在 iOS 中,totalSteps 是正确的,但是在 Fitness.Steps = steps 运行时,steps 仍然为 0。最重要的是,我无法从 _healthData.GetSteps((totalSteps) 操作中获取 totalSteps 值。Android Google Fit 和 iOS HealthKit API 调用使用完成处理程序运行。
在这个阶段,我只是想弄清楚如何将数据(步数、卡路里、活动分钟数、距离)上传到我的服务器。
有谁知道如何使这项工作?我可以使用 ObservableCollection 在视图中显示所有数据(步数、卡路里、活动分钟数、距离)。
【问题讨论】:
标签: dotnet-httpclient healthkit completionhandler .net-maui