我正在使用Google附近编写共享应用 . 我正在使用MESSAGES_API发布消息并订阅其他人 . 问题是,一旦设备发布消息,它将不再接收消息 . 我有几个我正在测试的设备 - 其中任何设备最初都可以发布消息而其他设备可以接收它 . 但是,如果任何其他设备决定要发布,则原始发布者无法接收 .

我发布后如何继续接收消息?

我在这里创建我的谷歌客户端:

mGoogleApiClient = new GoogleApiClient.Builder(mContext)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(LocationServices.API)
            .addApi(Nearby.MESSAGES_API)
            .enableAutoManage(this, this)
            .build();

谷歌客户端连接后,我“订阅”它

Nearby.Messages.registerStatusCallback(mGoogleApiClient, new StatusCallback() {
            @Override
            public void onPermissionChanged(boolean b) {
                super.onPermissionChanged(b);
                Log.d(TAG, "Permission = " + b);
            }
        });

而且,我有一个倾听者对消息做出反应

Nearby.Messages.subscribe(mGoogleApiClient, mMessageListener).setResultCallback(new ErrorCheckingCallback("subscribe"));
 MessageListener mMessageListener = new MessageListener() {
    @Override
    public void onFound(Message message) {
        String messageAsString = new String(message.getContent());
        Toast.makeText(mContext, "Incoming Image...", Toast.LENGTH_SHORT).show();
        Log.d(TAG, "Found message: " + messageAsString);

    }

    @Override
    public void onLost(Message message) {
        String messageAsString = new String(message.getContent());
        Log.d(TAG, "Lost sight of message: " + messageAsString);
    }
};