如何为 Android Wear 2.0 应用实现请求-响应协议?
场景:
当我点击手表上的按钮时,我希望它从手机中获取一些数据并将其显示在手表的屏幕上。
我尝试过:
我使用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
}
}