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

标签 android wear-os android-wear-data-api android-wear-2.0 wearables

在我的项目中,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

关于android - 如何获取 dataclient.getDataItem(Uri) 自己的 node_id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61186928/

相关文章:

android - 使用编译 'com.google.android.support:wearable:2.0.4' 时出现以下错误,但我没有使用 26.0.0

android - WearableListenerService 的权限

android - 如何在 Android Wear Complication Provider 的表盘上绘制图标?

javascript - 使用 Wikitude SDK 相对于设备位置的 AR 对象

android - 将 user-agent 中的 appname 替换为 volley

android - 集成 Android Wear

android - NotificationCompat 和 NotificationManagerCompat 是否必须用于通知才能出现在可穿戴设备上?

android - 如何为 Android 表盘使用自定义创建的可绘制图像

android - 我的计时器不工作

java - 以编程方式为 FrameLayout 的子项设置 layout_gravity?