Android Wear并发症更新行为

时间:2017-05-11 10:48:10

标签: android wear-os android-wear-2.0 android-wear-complication

我尝试使用RandomNumberProviderService作为指南在Android Wear中编写复杂功能服务,但是当我点击复杂功能并且我只需要以编程方式更新信息时,我很难找到分离行为的方法(当手表收到DataApi更改时)。 点击复杂功能应该向掌上电脑发送一条消息,现在就可以了,但我无法只更新复杂的信息。

1 个答案:

答案 0 :(得分: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();
        }

根据Receiving data and rendering complications文档:

  

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

     

复杂数据通过onComplicationDataUpdate(WatchFaceService.Engine)回调传递。

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

希望这有帮助。