许多应用都有自定义的新用户引导流程,例如功能教程或征求用户同意。如需让 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 可能会多次启动,例如,如果用户之后撤消了应用的权限,然后重新连接了该应用。