如何在Flutter应用程序中有效使用HealthKit的步数功能?

时间:2018-03-20 13:11:45

标签: ios dart flutter health-kit

我正在研究我必须为我们的初创公司建立的应用程序。

我想构建一个应用程序,通过在iOS上使用HealthKit来记录每个人每天所采取的步骤。

当用户请求刷新或重新启动应用程序时,我可以请求最新的步数。但是,我们希望在他们采取一定数量的步骤(例如10,000)后立即将通知推送给用户。 所以我想知道我是否可以在颤振中设置一个监听器,以便HealthKit(电池有效地)提供最新的步数,因为它们进入或以设定值/间隔。

这种“倾听者”架构是否可以在颤振和本地Swift代码之间进行通信,如果是这样,它是最好的方法吗? 在Android方面也可以这样吗?

感谢您的关注。

1 个答案:

答案 0 :(得分:2)

在iOS端可能需要HealthKitHKObserverQuery

  

接收后台交付

     

应用还可以注册以在后台接收更新   调用HealthKit商店   enableBackgroundDelivery(for:frequency:withCompletion :)方法。这个   方法注册您的应用程序的背景通知HealthKit   每当保存指定类型的新样本时,都会唤醒您的应用   商店。每个时间段定义的应用最多一次   注册时指定的频率。

至于

的架构
  

在flutter和本机Swift代码之间进行通信......是一样的   也可以在Android上

我相信您正在寻找Flutter Platform Channels,您可以找到Swift Example

  

Flutter使用灵活的系统,让您可以打电话   特定于平台的API,无论是Java还是Kotlin代码都可用   Android,或iOS上的ObjectiveC或Swift代码。

     

Flutter特定于平台的API支持不依赖于代码   生成,而是灵活的消息传递风格:

     

应用的Flutter部分会向其主机iOS或iOS发送消息   应用的Android部分,通过平台频道。

     

主机侦听平台频道,并接收消息。它   然后调用任意数量的特定于平台的API - 使用   本机编程语言 - 并将响应发送回客户端,   应用程序的Flutter部分。

不幸的是,我没有看到任何existing Flutter HealthKit,但希望可用的工具足以让您为HealthKit构建自己的桥梁。

Brandon Donnelson在Creating a Plugin上的视频也可能有帮助。

我不确定是否有适用于Android的HealthKit替代品。