【问题标题】:Separate launcher icon for companion configuration activity of a watch face (Android Wear)用于表盘伴随配置活动的单独启动器图标 (Android Wear)
【发布时间】:2016-07-10 09:16:32
【问题描述】:

我在移动设备上实现了一个带有配置活动的表盘。从 Android Wear 应用程序中启动配置 Activity 时工作正常。

但是,我想创建一个额外的图标,可以像普通应用一样从 Android Wear 外部启动配置活动。当我简单地将 Activity 实现为 AndroidManifest 中的普通应用程序时,如下所示,它无法与手表通信。

理想情况下,额外的启动器应该与 Android Wear 应用一起启动配置活动(如果它尚未运行)。

<activity
        android:label="Companion Configuration"
        android:name=".ConfigActivity" >
         <intent-filter >
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>

【问题讨论】:

  • 您目前使用什么架构在手持配置活动和 Wear 上的代码之间进行通信?您的问题的答案将取决于您已经获得了什么。
  • 我使用 Google 的标准可穿戴数据层 API。

标签: android wear-os


【解决方案1】:

这与启动器图标无关 - 或者实际上是手机端的任何东西。

您需要让 Wear 应用在​​手机端配置活动中的数据发生更改时启动,而这一切都在可穿戴应用中进行了设置。 https://developer.android.com/training/wearables/data-layer/events.html#Listen

在您的情况下(因为当手机Activity 启动时您的手表应用程序尚未运行),您可能想要子类化WearableListenerService。当手机上的数据发生变化时,系统会运行此操作,当发生这种情况时,您可以为您的应用执行任何适合的操作。

【讨论】:

  • 我就是这样做的。我遵循了这个例子:developer.android.com/samples/WatchFace/index.html。问题是当手表不是从 Google Wear 应用程序中启动时,手机端无法连接到手表。
  • 那么您的 Wear 应用中还有其他问题。如果没有看到一些代码,就不可能说出什么;使数据 API 工作存在许多缺陷。
【解决方案2】:

我通过使用 Wea​​rable.DataApi 而不是 Wearable.MessageApi 来完成这项工作

我一直在使用 Wea​​rable.MessageApi 从手机更新手表,这需要一个 peerid,我猜它是由 Wear 应用程序生成的。我放置了一个 if/then 语句来检查 peerid 是否为空,如果是,则使用 DataApi 并在 Wear 应用程序内部和应用程序抽屉中工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多