Android 佩戴伴侣 activity 齿轮未显示在表盘中
Android Wear companion activity gear does not show up in watch face
我想为我的 Android Wear 表盘提供配套配置 Activity。我已经构建了具有所有配置并可以直接与表盘通信的应用程序,但我只能从启动器将其作为应用程序启动,但齿轮不会显示在 Android 的表盘部分穿应用程序!我能否允许用户通过配套应用以及 Google Android Wear 应用配置表盘?
这就是我在 phone 模块中声明我的 activity 的方式:
<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 应用程序上没有显示齿轮。
我认为这是关于 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>
除了在 phone 模块中定义 activity 外,您还需要在 wear 模块中引用它作为表盘服务声明的一部分,如下所示:
<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" />
...
将 com.my.watchface.CompanionConfigurationActivity 和 com.my.watchface.WearableConfigurationActivity 替换为 wear 和phone 个模块。
尝试这样的事情:
Phone 清单:
<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" />
我认为 phone 清单中的意图操作必须与手表清单中的元数据值相同才能起作用。
我想为我的 Android Wear 表盘提供配套配置 Activity。我已经构建了具有所有配置并可以直接与表盘通信的应用程序,但我只能从启动器将其作为应用程序启动,但齿轮不会显示在 Android 的表盘部分穿应用程序!我能否允许用户通过配套应用以及 Google Android Wear 应用配置表盘?
这就是我在 phone 模块中声明我的 activity 的方式:
<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 应用程序上没有显示齿轮。
我认为这是关于 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>
除了在 phone 模块中定义 activity 外,您还需要在 wear 模块中引用它作为表盘服务声明的一部分,如下所示:
<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" />
...
将 com.my.watchface.CompanionConfigurationActivity 和 com.my.watchface.WearableConfigurationActivity 替换为 wear 和phone 个模块。
尝试这样的事情:
Phone 清单:
<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" />
我认为 phone 清单中的意图操作必须与手表清单中的元数据值相同才能起作用。