Ich aktualisiere meine Play-Dienste-in der Nähe auf Version '10 .2.0 ', ändert den EndpointDiscoveryListener und ConnectionRequestListener von der Schnittstelle zur abstrakten Klasse, ich erweitere NexteClient mit EndpointDiscoveryListener und deklariere innere Klasse ConnectionRequestListener, jetzt sehe ich, dass AppIdentifier auch veraltet ist, ich habe viel in google gesucht, aber ich kann kein neues Beispiel finden, hier ist mein Code, den ich von github geändert playgameservices:Wie implementieren abstrakte Klasse EndpointDiscoveryListener und ConnectionRequestListener in neue Play-Dienste-in der Nähe?
public class NearbyClient extends Connections.EndpointDiscoveryListener implements
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener,
Connections.MessageListener {
private class OnConnectionRequest extends Connections.ConnectionRequestListener {
private NearbyClient mNearbyClient;
OnConnectionRequest(NearbyClient nearbyClient)
{
this.mNearbyClient = nearbyClient;
}
@Override
public void onConnectionRequest(final String remoteEndpointId, final String remoteEndpointName, byte[] payload) {
Log.d(TAG, "onConnectionRequest:" + remoteEndpointId +
":" + remoteEndpointName);
if (mIsHost) {
// The host accepts all connection requests it gets.
byte[] myPayload = null;
Nearby.Connections.acceptConnectionRequest(mGoogleApiClient, remoteEndpointId,
myPayload, mNearbyClient).setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
Log.d(TAG, "acceptConnectionRequest:" + status + ":" + remoteEndpointId);
if (status.isSuccess()) {
Toast.makeText(mContext, "Connected to " + remoteEndpointName,
Toast.LENGTH_SHORT).show();
// Record connection
HeroParticipant participant = new HeroParticipant(remoteEndpointId, remoteEndpointName);
mConnectedClients.put(remoteEndpointId, participant);
// Notify listener
mListener.onConnectedToEndpoint(remoteEndpointId, remoteEndpointName);
} else {
Toast.makeText(mContext, "Failed to connect to: " + remoteEndpointName,
Toast.LENGTH_SHORT).show();
}
}
});
} else {
// Clients should not be advertising and will reject all connection requests.
Log.w(TAG, "Connection Request to Non-Host Device - Rejecting");
Nearby.Connections.rejectConnectionRequest(mGoogleApiClient, remoteEndpointId);
}
}
}
der Rest des Codes ist das gleiche wie Beispiel. Was ist der beste Weg, um eine neue Version zu implementieren?
zeigt es mir "Leider Google Play Services hat aufgehört", wenn ich als Client eine Verbindung herstellen möchte, Was ist die veraltete Version?
Haben Sie 8bitartist ausgeführt? weil es bei mir nicht funktioniert hat. Wenn du es getan hast, schick mir bitte die neue? oder ersetzen Sie es auf github –
Das Beispiel wurde aktualisiert: https://github.com/playgameservices/android-basic-samples Es ist ein bekannter Fehler jedoch, dass Play-Dienste manchmal beim Aufruf von stopDiscovery() oder stopAdvertising() abstürzt. Sie arbeiten daran, es zu reparieren und werden im nächsten SDK-Update sein. –
Bitte lassen Sie mich wissen, wenn der Fehler behoben –