在我的项目中,wearos应用程序使用数据项与手持式移动应用程序进行通信。我的wearOS应用通过在数据层中放置和更改数据项来发送数据。
在放置该项目之前,我想先加载/获取该项目,然后再覆盖其内容。我可以使用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