0

I thought I had it correct for a Strategy.P2P_CLUSTER connection, but instead I get:

D/Meshy: onEndpointFound (we want to connect to someone!) (endpointId=CL36, serviceId=meshy.SERVICE_ID, endpointName=365589)
W/Meshy: acceptConnection failed with 8011 STATUS_ENDPOINT_UNKNOWN

Which is odd, no one ever says "no" to the connection request. Maybe I have the lifecycle wrong?

val mEndpointDiscoveryCallback = object : EndpointDiscoveryCallback() {
        // We found someone to connect to!
        override fun onEndpointFound(endpointId: String, info: DiscoveredEndpointInfo) {
            Log.d(TAG, "onEndpointFound (we want to connect to someone!) (endpointId=$endpointId, serviceId=${info.serviceId}, endpointName=${info.endpointName})")
            if (SERVICE_ID == info.serviceId) {
                Nearby.Connections.acceptConnection(mGoogleApiClient, endpointId, mPayloadCallback)
                        .setResultCallback { status ->
                            if (!status.isSuccess) {
                                Log.w(TAG, "acceptConnection failed with ${status.toReadable()}")
                            } else {
                                Log.d(TAG, "acceptConnection success")
                                endpoints.add(endpointId)
                            }
                        }
            } else {
                Log.w(TAG, "onEndpointFound ignoring unknown endpointId=$endpointId serviceId=${info.serviceId}")
            }
        }
Benjamin H
  • 5,164
  • 6
  • 34
  • 42

1 Answers1

2

You're missing a call to requestConnection() -- see the code snippets at https://developers.google.com/nearby/connections/android/manage-connections for the expected lifecycle/flow.

Varun Kapoor
  • 116
  • 2