Skip to content

Most visited

Recently visited

navigation

提供配置 Activity

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

支持配置参数的表盘通过在穿戴式设备应用中使用 Activity、在手持式设备应用中使用 Activity 或者同时在两者中使用 Activity,让用户可以自定义表盘。用户可以在穿戴式设备上启动穿戴式设备配置 Activity。如果手持式设备应用上安装了配套设备配置 Activity,他们也可以启动该 Activity。

:在 Wear 1.x 中,当用户安装包含穿戴式设备应用的手持式设备应用时,穿戴式设备应用将自动安装到手表上。在 Wear 2.0 中,穿戴式设备应用绝不会自动安装到手表上。此外,在 Wear 2.0 中,无需手持式设备应用。如果您有手持式设备应用且想要使用,则必须单独安装。

WatchFace 示例中的数字表盘演示了如何实现手持式设备和穿戴式设备配置 Activity 以及如何更新表盘以响应配置变更。

为配置 Activity 指定一个 Intent

如果您的表盘包含配置 Activity,请将下列元数据条目添加到穿戴式设备应用 manifest 文件的 service 声明中:

<service
    android:name=".DigitalWatchFaceService" ... />
    <!-- companion configuration activity -->
    <meta-data
        android:name=
           "com.google.android.wearable.watchface.companionConfigurationAction"
        android:value=
           "com.example.android.wearable.watchface.CONFIG_DIGITAL" />
    <!-- wearable configuration activity -->
    <meta-data
        android:name=
           "com.google.android.wearable.watchface.wearableConfigurationAction"
        android:value=
           "com.example.android.wearable.watchface.CONFIG_DIGITAL" />
    ...
</service>

为前面带有您的应用软件包名称的这些条目提供值。配置 Activity 会为此 intent 注册 intent 过滤器,并且在用户想要配置您的表盘时,系统会触发此 intent。

如果您的表盘仅包含一个配套设备或穿戴式设备配置 Activity,您仅需要包含上述示例中相应的元数据条目。

创建一个穿戴式设备配置 Activity

穿戴式设备配置 Activity 可以为表盘提供一组有限的自定义选择,因为复杂菜单在较小的屏幕上很难导航。您的穿戴式设备配置 Activity 应提供二进制文件选择和少数几个选择来自定义您的表盘的主要方面。

要创建一个穿戴式设备配置 Activity,请向您的穿戴式设备应用模块中添加一个新的 Activity,并在穿戴式设备应用的 manifest 文件中声明下列 intent 过滤器:

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

此 intent 过滤器中的操作名称必须匹配您在为配置 Activity 指定一个 Intent 中定义的 intent 名称。

在您的配置 Activity 中,构建一个简单的界面,为用户提供自定义您的表盘的选择。当用户进行选择时,请使用 Wearable Data Layer API 将配置变更传递给表盘 Activity。

如需了解更多详情,请参阅 WatchFace 示例中的 DigitalWatchFaceWearableConfigActivityDigitalWatchFaceUtil 类。

创建一个配套设备配置 Activity

配套配置 Activity 让用户可以访问全套的表盘配置选择,因为它更容易与手持式设备较大屏幕上的复杂菜单进行交互。例如,您可以使用手持式设备上的配置 Activity 向用户呈现非常详尽的颜色选取器来选择表盘的背景颜色。

:配置 Activity 只能针对运行 Android 的手持式设备编写。

要创建一个配套设备配置 Activity,请向您的手持式设备应用模块中添加一个新的 Activity,并在手持式设备应用的 manifest 文件中声明下列 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。

如需了解更多详情,请参阅 WatchFace 示例中的 DigitalWatchFaceCompanionConfigActivity 类。

在穿戴式设备应用中创建一个侦听器 service

要从配置 Activity 接收更新的配置参数,请在您的穿戴式设备应用中创建一个可以从 Wearable Data Layer API 实现 WearableListenerService 接口的 service。您的表盘实现可以在配置参数发生变化时重新绘制表盘。

如需了解更多详情,请参阅 WatchFace 示例中的 DigitalWatchFaceConfigListenerServiceDigitalWatchFaceService 类。

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)