在 Wear OS 上提供配置活动

某些手表表盘支持配置参数,允许用户自定义手表表盘的外观和行为。例如,某些手表表盘允许用户选择自定义背景颜色。其他显示两个不同时区时间的表盘允许用户选择他们感兴趣的时区。

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

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

使用编辑器会话

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

为了支持这一点,手表表盘可以提供一个配置 Activity 并允许用户使用从 EditorSession.createOnWatchEditorSession 返回的 EditorSession 更改设置。当用户进行更改时,调用 EditorSession.renderWatchFaceToBitmap 将在编辑器 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
    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>

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

在您的配置活动中,构建一个简单的 UI,为用户提供自定义手表表盘的选择。

创建配套配置活动

配套配置活动使用户能够访问手表表盘的完整配置选项集,因为在手持设备的较大屏幕上与复杂菜单交互更容易。例如,手持设备上的配置活动使您能够向用户展示详细的颜色选择器,以选择手表表盘的背景颜色。

注意:配置活动只能为运行 Android 的手持设备(如手机、平板电脑和折叠屏手机)编写。

要创建配套配置活动,请向您的手持设备应用模块添加一个新活动,并在手持设备应用清单文件中声明以下意图过滤器

<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>

在您的配置活动中,构建一个 UI,提供选项以自定义手表表盘的所有可配置元素。用户做出选择后,使用 可穿戴数据层 API 将配置更改传达给手表表盘活动。

请参阅以下相关资源