在 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,提供所有錶面可設定元素的自訂選項。使用者做出選擇後,請使用 Wearable Data Layer API,通知錶面活動並提供設定變更內容。

請參閱下列相關資源: