将运行状况工具包删除传播到后端



希望这个问题听起来不太傻,但我还没有找到解决方案。 我目前正在使用与HealthKit集成的Xamarin编写一个应用程序。 储存于香港的资料会定期同步至伺服器。这是通过提取食物相关性的HKAnchoredObjectQuery完成的。

由于数据是定期拉取的,因此在同步之间,用户可能会删除 HealthKit 中的值。 该删除需要在下次同步时传播回服务器。

我最初的想法是使用观察者查询来做到这一点。

我的问题是:使用 HealthKit 的观察者查询,有没有办法确定触发查询的操作是否是删除操作?

public void CheckForDelete (Subject subject)
    {
        var sampleType = HKObjectType.GetCorrelationType (HKCorrelationTypeKey.IdentifierFood);
        var predicate = HKQuery.GetPredicateForSamples (NSDate.DistantPast, NSDate.Now, HKQueryOptions.None);
        var observerQuery = new HKObserverQuery (sampleType, predicate, (query, completion, error ) => {
            //...Determine if action was a Delete
            //Code to delete on backend
            completion();
        });
        HealthKitStore.ExecuteQuery (observerQuery);
    }

在 iOS 9 中,HKAnchoredObjectQuery 已被修改为报告已删除的对象。

相关内容

  • 没有找到相关文章

最新更新