Android附近的消息API发布'预计BEGIN_OBJECT但是STRING'

时间:2016-06-05 11:14:46

标签: android publish-subscribe google-nearby

我正在尝试使用附近的示例并点击此链接: https://developers.google.com/nearby/messages/android/pub-sub

我想订阅并发布一个小文本。 所以我补充说:

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

但我收到错误:

RewriteEngine on
RewriteBase /
RewriteRule ^page.php?Page_ID=([0-9]+)/$ page.php [L,QSA,NC]
我做错了什么? 因为我不认为我需要像这里建议的那样解析它: GSON: Expected BEGIN_OBJECT but was STRING

关于附近的另一个问题: 是否可以仅将超声波用于公共文本?

谢谢你的时间。

1 个答案:

答案 0 :(得分:4)

删除此行:

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

DeviceMessage.fromNearbyMessage(message)调用假设消息字节是JSON并且正在尝试解析它,但您发布的消息不是JSON。