在 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 将配置更改传达给表盘活动。

请参考以下相关资源