API соседних сообщений Android - публикация "Ожидается, что BEGIN_OBJECT, но был STRING"

Я пытаюсь использовать ближайший образец и перейти по этой ссылке: https://developers.google.com/nearby/messages/android/pub-sub

и я хочу подписаться и опубликовать небольшой текст. поэтому я добавил:

private Message mActiveMessage;

private void publish(String message) {
    Log.i(TAG, "Publishing message: " + message);
    mActiveMessage = new Message(message.getBytes());
    Nearby.Messages.publish(mGoogleApiClient, mActiveMessage);
}

и по нажатию кнопки:

btnPublish.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            publish("Hello World");
        }
    });

и попробуйте получить его на другом телефоне на найденном:

public void onFound(final Message message) {
            // Called when a new message is found.
            mNearbyDevicesArrayAdapter.add(
                    DeviceMessage.fromNearbyMessage(message).getMessageBody());

            String messageAsString = new String(message.getContent());
            Log.d(TAG, "Found message: " + messageAsString);
            Toast.makeText(getBaseContext(), messageAsString, Toast.LENGTH_LONG).show();

но я получаю ошибку:

    E/AndroidRuntime: FATAL EXCEPTION: main 
gms.nearby.messages.samples.nearbydevices, PID: 733
com.google.gson.JsonSyntaxException: 
java.lang.IllegalStateException: 
Expected BEGIN_OBJECT but was STRING at line 1

я сделал что-то не так? потому что я не думаю, что мне нужно идти и анализировать это, как предложено здесь: GSON: ожидаемый BEGIN_OBJECT, но был STRING

Еще один вопрос про Nearby: можно ли использовать только Ультразвуковой для публичного текста?

Спасибо за ваше время.

1 ответ

Решение

Удалить эту строку:

mNearbyDevicesArrayAdapter.add(
        DeviceMessage.fromNearbyMessage(message).getMessageBody());

DeviceMessage.fromNearbyMessage(message) call предполагает, что байты сообщения являются JSON, и пытается его проанализировать, но опубликованное вами сообщение не является JSON.

Другие вопросы по тегам