Android Wear消息API编码和解码字节[]

Android Wear消息API编码和解码字节[],android,arrays,wear-os,Android,Arrays,Wear Os,我已经编写了一个使用Android Wear消息API的简单应用程序。我遵循了许多指南,它们都使用类似的代码风格来发送带有一些数据的消息,这些数据应该是byte[]格式 发送消息的代码是 Wearable.MessageApi.sendMessage(client, nodeId, message, "test".getBytes()); 接收代码是 final String messageData = new String(messageEvent.getData()); 这似乎适用于许多

我已经编写了一个使用Android Wear消息API的简单应用程序。我遵循了许多指南,它们都使用类似的代码风格来发送带有一些数据的消息,这些数据应该是byte[]格式

发送消息的代码是

Wearable.MessageApi.sendMessage(client, nodeId, message, "test".getBytes());
接收代码是

final String messageData = new String(messageEvent.getData());
这似乎适用于许多不同的指南和一些官方文档,但是变量
messageData
最终包含
[B@4b0ad22
而不是测试发送的数据

我还尝试了使用显式编码/解码

String messageData = new String(messageEvent.getData(), "UTF-8");
但这会引发
java.io.UnsupportedEncodingException


编码或解码出了什么问题?

您必须定义编码/解码,但还要将其包装在try/catch块中,以便接收代码如下所示

    String messageData = "";
    try {


        messageData = new String(messageEvent.getData(), "UTF-8");
    }
    catch(Exception e)
    {
        Log.e("DecodingError", e.toString());
    }
发送代码如下所示

        try {
            Wearable.MessageApi.sendMessage(client, nodeId, message, "test".getBytes("UTF-8"));
        }
        catch(Exception e)
        {
            Log.e("EncodingError", e.toString());
        }