Сопутствующее снаряжение Android Wear не отображается на циферблате

Я хотел предоставить действие настройки компаньона для моего циферблата Android Wear. Я уже создал приложение, которое имеет все настройки и может напрямую взаимодействовать с циферблатом, но я могу запустить его только из панели запуска как приложение, но механизм не отображается в разделе циферблата приложения Android Wear! Могу ли я разрешить пользователю настраивать циферблат через сопутствующее приложение, а также через приложение Google Android Wear?

Вот как я объявляю свою активность в телефонном модуле:

    <activity
        android:name=".Main"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.SEND"></action>
            <category android:name="android.intent.category.DEFAULT"></category>
            <data android:mimeType="image/*"></data>
        </intent-filter>
    </activity>

Что касается часов, я добавил:

        <meta-data
            android:name=
            "com.google.android.wearable.watchface.companionConfigurationAction"
            android:value=
                "virtualgs.photowatch.Main" />

        <meta-data
            android:name=
                "com.google.android.wearable.watchface.wearableConfigurationAction"
            android:value=
                "virtualgs.photowatch.Main" />

И результат тот же — в приложении Android Wear не отображается снаряжение.


person Lim Thye Chean    schedule 25.07.2015    source источник


Ответы (3)


Попробуйте что-то вроде этого:

Телефонный манифест:

<intent-filter>
        <action android:name="com.virtualgs.photowatch.MAIN_CONFIG" />
        <category android:name="com.google.android.wearable.watchface.category.COMPANION_CONFIGURATION" />
        <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

Смотрите манифест:

    <meta-data
            android:name="com.google.android.wearable.watchface.companionConfigurationAction"
            android:value="com.virtualgs.photowatch.MAIN_CONFIG" />

Я думаю, что действие намерения в манифесте телефона должно совпадать со значением метаданных в манифесте часов, чтобы оно работало.

person Hayden Campbell    schedule 30.07.2015

Я думаю, что это правильный ответ о конфигурации файла XML:

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

person Cătălin George Feștilă    schedule 26.07.2015
comment
Это для часов, да? Тот, который я использовал, для телефона. Вы можете увидеть здесь: developer.android.com/training/wearables/watch -лица/ - person Lim Thye Chean; 26.07.2015

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

<service
android:name=".MyWatchFaceService" ... />
<!-- companion configuration activity -->
<meta-data
    android:name=
       "com.google.android.wearable.watchface.companionConfigurationAction"
    android:value=
       "com.my.watchface.CompanionConfigurationActivity" />
<!-- wearable configuration activity -->
<meta-data
    android:name=
       "com.google.android.wearable.watchface.wearableConfigurationAction"
    android:value=
       "com.my.watchface.WearableConfigurationActivity" />
...

Replacing com.my.watchface.CompanionConfigurationActivity and com.my.watchface.WearableConfigurationActivity with the fully qualified names of the configuration activities in the wear and phone modules respectively.

person StevenR    schedule 26.07.2015
comment
Спасибо за помощь. Поскольку мне нужна только конфигурация на телефоне, я подумал, что нужна только часть com.google.android.wearable.watchface.companionConfigurationAction? - person Lim Thye Chean; 28.07.2015
comment
Я обновил XML-код часов, чтобы использовать ваш пример, но заменил com.my.watchface.CompanionConfigurationActivity именем моего приложения virtualgs.photowatch.Main (что является основным действием), результат тот же. - person Lim Thye Chean; 28.07.2015