1

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

设想:

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

我尝试了什么:

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

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

byte[] responseBytes = sendRequest(someRequestBytes);

4

1 回答 1

0

我不确定你尝试了什么。

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

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
    }
}
于 2017-08-14T16:10:01.807 回答