3

我正在使用所谓的附近连接。一台设备正在做广告 (Nearby.Connections.startAdvertising() ),另一台正在发现 (Nearby.Connections.startDiscovery() )。这个 api 工作正常,我可以成功连接到主机设备。但是,如果我断开连接并重新连接几次,该设备将不再有广告。我正在调用 Nearby.Connections.startAdvertising(),但 PendingResult 中的 onResult() 方法根本没有被调用。PendingResult 从 Nearby.Connections.startAdvertising() 方法返回,您可以使用它来检查广告是否成功启动。有没有人有类似的问题?

我必须重新启动设备才能让广告重新开始工作。(重新连接wifi没有帮助)。

4

2 回答 2

1

如果您不需要,我建议不要继续为您的连接做广告。

我建议stopAdvertising()在您开始会话时使用,当您需要重新连接时,只需ConnectionRequest(...)再次发送主机而不做广告。

并且在任何情况下您都需要它,您可以再次打开它。如果你愿意,你可以尝试 stopAdvertising()然后startAdvertising(...)看看它是否有效,因为我正在使用这种方法并且它工作得很好。

希望它有所帮助

于 2016-06-17T15:29:18.357 回答
0

当你开始做广告时,你是否设置了超时?您可以尝试在此处设置 0:

Nearby.Connections.startAdvertising(mGoogleApiClient, hostNameString, appMetadata, 0l, this);

在就近连接快速入门示例中,您可以设置以下两个变量:

private static final long TIMEOUT_ADVERTISE = 0L;
private static final long TIMEOUT_DISCOVER = 0L;
于 2015-11-27T08:15:04.330 回答