Делаем переключение для носимого "ТОЛЬКО", чтобы изменить фон на циферблате Android

Я новичок, и мне трудно понять руководство по выполнению простых действий по настройке, чтобы носимый мог изменить фон моего циферблата. Документация делает это простым, но когда я копирую код и меняю имя пакета, я ничего не вижу. Может кто-нибудь объяснить идиотскими терминами, потому что сайт разработчика очень расплывчатый.

1 ответ

Вам необходимо добавить следующие строки в запись службы часового покера в вашем AndroidManifest.xml:

<!-- wearable configuration activity -->
<meta-data
    android:name="com.google.android.wearable.watchface.wearableConfigurationAction"
    android:value="com.your.package.CONFIG" />

Затем вам нужно убедиться, что ваша конфигурация имеет следующий намеренный фильтр:

<intent-filter>
    <action android:name="com.your.package.CONFIG" />
    <category android:name=
        "com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

НЕ меняйте com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION на использование собственного имени пакета! То же самое относится и к com.google.android.wearable.watchface.wearableConfigurationAction выше; эти значения должны совпадать точно так же, как они здесь - используйте только имя вашего пакета, где я поместил com.your.package.

Вот записи манифеста для службы наблюдения и настройки конфигурации из одного из моих собственных проектов, так что вы можете увидеть оба эти изменения в действии:

<service
    android:name=".WatchFaceService"
    android:allowEmbedded="true"
    android:label="@string/app_name"
    android:permission="android.permission.BIND_WALLPAPER"
    android:taskAffinity="" >
    <meta-data
        android:name="android.service.wallpaper"
        android:resource="@xml/watch_face" />
    <meta-data
        android:name="com.google.android.wearable.watchface.preview"
        android:resource="@drawable/watch_face_preview" />

    <!-- wearable configuration activity -->
    <meta-data
        android:name="com.google.android.wearable.watchface.wearableConfigurationAction"
        android:value="com.your.package.CONFIG" />

    <intent-filter>
        <action android:name="android.service.wallpaper.WallpaperService" />

        <category android:name="com.google.android.wearable.watchface.category.WATCH_FACE" />
    </intent-filter>
</service>

<activity
    android:name=".WearableConfigActivity"
    android:label="@string/title_activity_wearable_config" >
    <intent-filter>
        <action android:name="com.your.package.CONFIG" />
        <category android:name=
            "com.google.android.wearable.watchface.category.WEARABLE_CONFIGURATION" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
Другие вопросы по тегам