我试图使用 RandomNumberProviderService 作为指导在 Android Wear 中对复杂功能服务进行编程,但是当我点击复杂性时,我无法找到一种分离行为的方法,当我只需要以编程方式更新信息时(当手表收到 DataAPI 更改时(。点击复杂功能应该会向手持设备发送一条消息,现在确实如此,但我无法仅更新有关复杂功能的信息。
检查复杂功能SimpleWatchFaceService:
/*
* 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();
}
根据接收数据和渲染复杂情况文档:
请检查 Android 表盘要开始接收复杂功能数据,表盘会在
WatchFaceService.Engine class
中调用setActiveComplications
,并提供表盘复杂功能ID的列表。表盘创建这些 ID 以唯一标识表盘上可能出现复杂功能的插槽,并将它们传递给createProviderChooserIntent
方法,以允许用户决定哪个复杂功能应放在哪个插槽中。并发症数据通过 onComplicationDataUpdate (of
WatchFaceService.Engine
( 回调传递。
示例 您提供的链接是此示例的一部分(,这演示了如何为 Android Wear 创建表盘,并包括一个手机应用程序和一个可穿戴应用程序。可穿戴应用程序具有多种表盘,包括模拟,数字,opengl,日历,步骤,交互式等。
希望这有帮助。