我正在使用Google附近编写共享应用。我正在使用MESSAGES_API发布消息并订阅其他人。问题是,一旦设备发布消息,它将不再接收消息。我有几个我正在测试的设备 - 其中任何设备最初都可以发布消息而其他设备可以接收它。但是,如果任何其他设备决定要发布,则原始发布者无法接收。
我发布后如何继续接收消息?
我在这里创建我的Google客户端:
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);
}
};