如何为 dataclient.getDataItem(Uri) 获取自己的 node_id?

How do I get my own node_id for dataclient.getDataItem(Uri)?

在我的项目中,wearos 应用程序使用数据项与手持移动应用程序进行通信。我的 wearOS 应用程序通过在数据层中放置和更改数据项来发送数据。

在放置项目之前,我想 load/get 在可能覆盖其内容之前对项目进行操作。我可以使用 dataClient.getDataItems() 接收它。然而对我来说这似乎不是最优的,我想使用 dataClient.getDataItem(uri)。为了获得特定项目,我只需要 uri。

uri format: wear://<node_id>/<path>

我唯一不知道的是我的创作者节点的node_id。通过我看到的日志记录,即使我每次都创建一个新的 DataClient,当我将一个新项目放入数据层时,节点 ID 保持不变。但是我找不到访问该 ID 的方法。

我觉得应该有一个像 getLocalNodeId() 这样的简单函数来获取缺少的 uri 部分。我错了吗?

不知道,为什么我花了这么长时间才找到:

 var node_id = Tasks.await(getNodeClient(context).localNode).id