java - Android Wear 2.0 的请求 - 响应 API?

标签 java android wear-os android-wear-2.0

如何为 Android Wear 2.0 应用实现请求-响应协议(protocol)?

场景:

当我点击 watch 上的按钮时,我希望它从手机中获取一些数据并将其显示在 watch 的屏幕上。

我尝试过的:

我使用 MessageApi 实现了一个工作示例,但我不喜欢它。我使用一种方法在一个地方发送一个虚拟“请求”,我忽略 PendingResult,然后希望最终我会收到一条作为相应响应的消息。

理想情况下,我想要的是:

byte[] responseBytes = sendRequest(someRequestBytes);

最佳答案

我不确定你尝试过什么。

但是这段代码应该可以发送字节数组。

Wearable.MessageApi.sendMessage(googleApiClient, transcriptionNodeId,
            VOICE_TRANSCRIPTION_MESSAGE_PATH, voiceData).setResultCallback(
                  new ResultCallback() {
                      @Override
                      public void onResult(SendMessageResult sendMessageResult) {
                          if (!sendMessageResult.getStatus().isSuccess()) {
                              // Failed to send message
                          }
                      }
                  }
            );

voiceData 是一个简单的字节数组。该数组将被可穿戴设备和手持设备接收。

https://developer.android.com/training/wearables/data-layer/messages.html

要检索数据,请使用以下命令:

@Override
public void onMessageReceived(MessageEvent messageEvent) {
    if (messageEvent.getPath().equals(YOUR_TEXT)) {
        messageEvent.getData();//this is your byte array
    }
}

关于java - Android Wear 2.0 的请求 - 响应 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45678193/

相关文章:

java - 将 .docx 转换为 html,我收到不可读的文本

java - 沿 Canvas 上的路径绘制位图

android - 如何以编程方式获取使用访问权限

Java - 如果无线网络已经存在,如何连接到无线网络?

java - 在 React Native 中安装 Native 模块后应用程序无法构建?

java - 执行 doInBackground() 时发生错误 Android AsyncTask 错误

android - 项目依赖com.google.android.support :wearable:2. 0.2

java - Android向圆弧边缘添加线标记

java - spring 安全配置类出错

java - 如何在Android中的字符串中使用\n换行(从linux输入)