为新用户制定计划

许多应用都有自定义的新用户引导流程,例如功能教程或征求用户同意。如需让 Health Connect 启动初始配置流程,请在清单中添加以下代码:

<!-- Required to support pre-Android 14 devices with APK Health Connect -->
<activity
  android:name=".OnboardingActivity"
  android:exported="true"
  android:permission="com.google.android.apps.healthdata.permission.START_ONBOARDING">
  <intent-filter>
    <action android:name="androidx.health.ACTION_SHOW_ONBOARDING"/>
  </intent-filter>
</activity>
<!-- Required to support Android 14+ devices with platform Health Connect -->
<activity-alias
  android:name="UAndAboveOnboardingActivity"
  android:exported="true"
  android:targetActivity=".OnboardingActivity"
  android:permission="android.permission.health.START_ONBOARDING">
  <intent-filter>
    <action android:name="android.health.connect.action.SHOW_ONBOARDING" />
  </intent-filter>
</activity-alias>

用户可以直接从 Health Connect 应用(而非从您的应用内)发起与您的应用的关联。如果您的应用除了获得读取或写入数据的权限之外,还需要任何其他互动,请提供新用户引导 activity。

版本支持

如需同时支持 Android 14 之前的设备和 Android 14 及更高版本的设备,请执行以下操作:

  • 推荐方法:创建一个用于处理这两种场景的初始配置 activity。使用 activity 别名(如示例所示)来验证各个 Android 版本之间的兼容性。

  • 替代方法:导出两个单独的 activity,每个 Android 版本对应一个。这种方法可能会增加维护复杂性。

导出的 activity 要求

当用户尝试将您的应用连接到 Health Connect 时,系统会启动导出的 activity。此 activity 必须执行以下操作:

  • 显示任何相关的用户教程,例如说明系统会写入或读取哪些数据。
  • 视需要征求用户同意。
  • 向 Health Connect 发出权限请求。
  • 执行任何其他特定于应用的逻辑,例如调度一项定期 worker。
  • 完成后,允许用户关闭此 activity。

对于不导出新用户引导 activity 的应用,Health Connect 会改为一旦用户尝试连接该应用,就将用户定向到管理权限界面。对于权限授予是确保集成正常运行的唯一前提条件的应用,这种做法可能是可以接受的。

请注意,新用户引导 activity 可能会多次启动,例如,如果用户之后撤消了应用的权限,然后重新连接了该应用。