Android磨损消息API未知错误代码4004

Android磨损消息API未知错误代码4004,android,wear-os,android-wear-data-api,Android,Wear Os,Android Wear Data Api,我有以下代码块向我的设备发送消息,但消息未被发送。。。我不知道为什么 以下是我构建GoogleAppClient的代码: mClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(new ConnectionCallbacks() { @Override public void onConnected(Bundle bundle)

我有以下代码块向我的设备发送消息,但消息未被发送。。。我不知道为什么

以下是我构建GoogleAppClient的代码:

mClient = new GoogleApiClient.Builder(this)
            .addConnectionCallbacks(new ConnectionCallbacks() {
                @Override
                public void onConnected(Bundle bundle) {
                    Log.d("dirk", "Google API Client connected");
                    sendMessage();
                }

                @Override
                public void onConnectionSuspended(int cause) {
                    Log.d("dirk", "Google API Client disconnected, cause: " + cause);
                    mConnected = false;
                    mConnecting = false;
                    // TODO handle disconnect
                }
            })
            .addOnConnectionFailedListener(new OnConnectionFailedListener() {
                @Override
                public void onConnectionFailed(ConnectionResult result) {
                    Log.d("dirk", "Google API Client connection failed, reason: " + result);
                    mConnected = false;
                    mConnecting = false;
                    // TODO handle connection failure
                }
            })
            .addApi(Wearable.API)
            .build();
下面是从sendMessage方法调用的代码:

Wearable.MessageApi.sendMessage(getClient(), nodeId, PATH, null).setResultCallback(new ResultCallback<SendMessageResult>() {
        @Override
        public void onResult(SendMessageResult sendMessageResult) {
            if (!sendMessageResult.getStatus().isSuccess()) {
                Log.d("dirk", "message could not be sent: " + sendMessageResult.getStatus().toString());
                Log.d("dirk", "Client connected: " + getClient().isConnected());
                // TODO show communication error
            }
        }
    });
因此,所有条件似乎都很好,但未知错误代码4004无法解决(至少到目前为止我没有发现任何错误)。 有人知道这是什么原因吗


德克

我找到了一份文档,支持我之前从上面的评论中做出的假设。请查看
WearableStatusCodes
class-它包含WearableApi方法结果中使用的状态代码。

因此,此错误不再是“未知的”:--
4004
无效的\u目标\u节点的代码


请检查您在
nodeId
变量中传递的值。

您没有在sendMessage方法中发布在nodeId变量中传递的值。你确定它有效吗?我明天早上会检查,但我想我使用的是Node.getId()作为输入。谢谢你的回复,如果正确的话,我明天就把它标记为正确!没问题。其他一切看起来都很好。除了GoogleAppClient对象上的“connect()”方法不存在之外——但从您的日志中,似乎您在某处调用了它:)最后一个问题是您从中获取id(getId())的“节点”是什么。我希望它是一个有效的节点,而不是一个发送方节点(不知道是否允许向发送方节点本身发送消息:)可以检查它:-)作为节点id传递的值确实不正确。我的错。很好,您找到了状态代码:-)在早期阶段,文档有时会有点混乱。谢谢你的帮助!现在,下一部分是让我的手机接收信息(这似乎还不起作用;-)。很高兴我能提供帮助:)我在回答另一个问题时找到了状态码。顺便说一句,我已经发布了一个完整的代码来发送和接收从Wear到Phone的消息。基本上,消息被发送到所有连接的节点(不知道it phone始终是唯一的一个?但是没有API可以只获取phone的nodeId)。看看:@MaciejCiemięga你能帮我吗?在我的应用程序中,使用消息api
Status{statusCode=SUCCESS,resolution=null}
gradle中的'applicationId`在
mobile
wear
package中类似。如何解决?
Google API Client connected
message could not be sent: Status{statusCode=unknown status code: 4004, resolution=null}
Client connected: true