在 Wear OS 上提供配置 Activity

一些表盘支持配置参数,让用户可以自定义表盘的外观和行为。例如,有些表盘主题可让用户选择自定义背景颜色。还有一些表盘可以显示两个不同时区的时间,以便用户选择他们感兴趣的时区。

支持配置参数的表盘允许用户使用 activity 自定义表盘。用户可以在穿戴式设备上启动穿戴式设备配置 activity。也可以从手持式设备应用(如果已安装)中启动配套设备配置 activity。此外,用户可以在 Wear OS 3 设备的配套应用中配置表盘。

注意:设备配套应用上的配置适用于以 API 级别 30 及更高级别为目标平台的设备。手持式应用上的配置适用于所有设备。

使用编辑器会话

我们强烈建议您在智能手表上支持配置,以便用户可以自定义表盘,而无需配套设备。

为了支持这种方式,表盘可以提供一个配置 Activity 并允许用户使用从 EditorSession.createOnWatchEditorSession 返回的 EditorSession 来更改设置。 当用户进行更改时,调用 EditorSession.renderWatchFaceToBitmap 会在编辑器 Activity 中提供表盘的实时预览。

为配置 activity 指定 intent

如果您的表盘包含配置 activity,并且您是在设备配套应用中配置表盘,请将以下元数据条目添加到穿戴式设备应用的清单文件中的服务声明中:

<service>
    <meta-data
        android:name="com.google.android.wearable.watchface.wearableConfigurationAction"
        android:value="androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR" />
    <meta-data
        android:name="com.google.android.wearable.watchface.companionBuiltinConfigurationEnabled"
        android:value="true" />
</service>

配置 activity 会为此 intent 注册 intent 过滤器,而系统会在用户想要配置您的表盘时触发此 intent。

如果您的表盘仅包含配套设备或穿戴式设备配置 activity,那么您只需在前面的示例中添加相应的元数据条目。

创建穿戴式设备配置 activity

穿戴式设备配置 activity 提供一组有限的表盘自定义选项,因为在较小的屏幕上不便于浏览复杂的菜单。您的穿戴式设备配置 activity 应该提供二进制选项,并且只需选择几项内容即可自定义表盘的主要方面。

要创建穿戴式设备配置 activity,请向穿戴式设备应用模块中添加新的 activity,并在穿戴式设备应用的清单文件中声明以下 intent 过滤器:

<activity
    android:name=".DigitalWatchFaceWearableConfigActivity"
    android:label="@string/digital_config_name">
    <intent-filter>
        <action android:name="androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR" />
        <category android:name=
        "com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

此 intent 过滤器中的操作名称必须为 androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR

在您的配置 activity 中,构建一个简单的界面,以便为用户提供自定义表盘的选项。

创建配套设备配置 activity

配套设备配置 Activity 可让用户访问表盘的全套配置选项,因为在手持设备的大屏幕上与复杂菜单进行互动更为方便。例如,通过手持设备上的配置 activity,您可以向用户提供精心挑选的颜色选择器,以选择表盘的背景颜色。

注意:只能为搭载 Android 的手持设备(例如手机、平板电脑和可折叠设备)编写配置 activity。

如需创建配套设备配置 activity,请向手持设备应用模块中添加新的 activity,并在手持设备应用的清单文件中声明以下 intent 过滤器:

<activity
    android:name=".DigitalWatchFaceCompanionConfigActivity"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name=
            "com.example.android.wearable.watchface.CONFIG_DIGITAL" />
        <category android:name=
        "com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

在您的配置 Activity 中,构建一个界面来提供自定义您表盘的所有可配置元素的选项。当用户做出选择后,请使用 Wearable Data Layer API 将配置更改传送到表盘 activity。

请参阅以下相关资源: