Android Wear随播活动设备未显示在表盘

时间:2015-07-25 07:36:31

标签: configuration wear-os watch-face-api

我想为Android Wear表盘提供Companion配置活动。我已经构建了具有所有配置并且可以直接与表盘通信的应用程序,但我只能从启动器作为应用程序启动它,但齿轮不会出现在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应用程序上没有显示任何设备。

3 个答案:

答案 0 :(得分:2)

尝试这样的事情:

电话清单:

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

我认为手机清单中的意图操作必须与监视清单中的元数据值相同才能正常工作。

答案 1 :(得分:0)

我认为这是关于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>

答案 2 :(得分:0)

除了在手机模块中定义活动外,您还需要在磨损模块中引用它作为您的表盘服务声明的一部分,如下所示:

<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" />
...

分别使用Wear和phone模块中配置活动的完全限定名称替换 com.my.watchface.CompanionConfigurationActivity com.my.watchface.WearableConfigurationActivity