1

デバイスにメッセージを送信する次のコード ブロックがありますが、メッセージが送信されません...理由がわかりません...

GoogleApiClient をビルドするコードは次のとおりです。

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
            }
        }
    });

ロギングはここにあります:

Google API Client connected
message could not be sent: Status{statusCode=unknown status code: 4004, resolution=null}
Client connected: true

したがって、すべての条件は問題ないように見えますが、不明なエラー コード 4004 は解決できません (少なくとも、これまでのところ問題は見つかりませんでした)。これの理由は誰に考えられますか?

ダーク

4

1 に答える 1

1

上記のコメントから、以前の仮定を裏付けるドキュメントを見つけました。クラスを見てくださいWearableStatusCodes- WearableApi メソッドの結果で使用されるステータス コードが含まれています。 https://developer.android.com/reference/com/google/android/gms/wearable/WearableStatusCodes.html#INVALID_TARGET_NODE

したがって、このエラーはもはや「不明」ではありません:) -4004は のコードですINVALID_TARGET_NODE
変数に渡す値を確認してくださいnodeId

于 2014-07-14T18:19:20.050 に答える