0

我尝试使用RandomNumberProviderService作为指南在 Android Wear 中编写复杂服务,但是当我点击复杂时和只需要以编程方式更新信息时(当手表收到 DataApi 时),我无法找到一种分离行为的方法改变)。点击并发症应该会向手持设备发送一条消息,现在可以了,但我无法仅更新有关并发症的信息。

4

1 回答 1

0

检查ComplicationSimpleWatchFaceService

        /*
         * Called when there is updated data for a complication id.
         */
        @Override
        public void onComplicationDataUpdate(
                int complicationId, ComplicationData complicationData) {
            Log.d(TAG, "onComplicationDataUpdate() id: " + complicationId);

            // Adds/updates active complication data in the array.
            mActiveComplicationDataSparseArray.put(complicationId, complicationData);
            invalidate();
        }

根据接收数据和渲染复杂性文档:

要开始接收复杂功能数据,表盘会调用setActiveComplications中的WatchFaceService.Engine class,并带有表盘复杂功能 ID 列表。表盘创建这些 ID 以唯一标识表盘上可能出现复杂功能的插槽,并将它们传递给createProviderChooserIntent方法以允许用户决定哪个复杂功能应该放在哪个插槽中。

并发症数据通过 onComplicationDataUpdate (of WatchFaceService.Engine) 回调传递。

请检查Android WatchFace 示例,您提供的链接是此示例的一部分),这演示了如何为 android wear 创建表盘,包括一个手机应用程序和一个可穿戴应用程序。可穿戴应用有多种表盘,包括模拟、数字、opengl、日历、步数、交互式等。

希望这可以帮助。

于 2017-05-12T16:40:09.377 回答