0

Ich arbeite an einem Projekt, wo ich Googles Nearby API für die Kommunikation zwischen Raspberry Pi3 (Arbeiten mit Android-Dinger) und Android-Handy verwenden müssen. Ich habe erfolgreich Werbung auf Raspberry Pi3 und Discovery-Service auf dem Handy gestartet. Aber ich kann Raspberry Pi3 nicht auf meinem Handy entdecken. Hier ist mein Code-Kann nicht Raspberry Pi mit Nearby API

Auf Himbeere pi3:

private void startAdvertizing() { 

    logging("advertizing initiated"); 



    Nearby.Connections.startAdvertising(mCLient,"Tinku",getString(R.string.service_id),mConnectionLifecycleCallback 
             ,new AdvertisingOptions(Strategy.P2P_CLUSTER)).setResultCallback(new ResultCallback<Connections.StartAdvertisingResult>() { 
     @Override 
     public void onResult(@NonNull Connections.StartAdvertisingResult startAdvertisingResult) { 
      if (startAdvertisingResult.getStatus().isSuccess()){ 
       logging("avertizind success"); 
      } else { 
       logging(startAdvertisingResult.getStatus().getStatusMessage()); 
      } 
     } 
    }); 

} 

Auf Mobil Seite:

private void startDicovery() { 
    Log.d(TAG,"Initializing discovery"); 
    tv.setText("Initializing discovery"); 

    EndpointDiscoveryCallback mEndPointDiscoveryCallback = new EndpointDiscoveryCallback() { 
     @Override 
     public void onEndpointFound(String s, DiscoveredEndpointInfo discoveredEndpointInfo) { 
      Log.d(TAG,"Endpoint found"); 
      tv.setText("Endpoint found"); 
     } 

     @Override 
     public void onEndpointLost(String s) { 
      Log.d(TAG,"Endpoint Lost, "+s); 
      tv.setText("Endpoint Lost, "+s); 
     } 
    }; 


    Nearby.Connections.startDiscovery(mCLient,getString(R.string.service_id),mEndPointDiscoveryCallback,new DiscoveryOptions(Strategy.P2P_CLUSTER)) 
         .setResultCallback(new ResultCallback<Status>() { 
          @Override 
          public void onResult(@NonNull Status status) { 
           if (status.isSuccess()){ 
            logging("Discovert success"); 
            isDiscovery = true; 
           } else { 
            logging("Discovery failed "+ status.getStatusMessage()); 
            isDiscovery = false; 
           } 
          } 
         }); 

} 

Ich weiß nicht, was mir fehlt. Jede Hilfe wäre willkommen.

Antwort

1

Hmm, ich habe das vorher funktioniert gesehen. Es gibt ein paar Dinge, die du ausprobieren kannst.

1) Überprüfen Sie die Protokolle. Siehe Is it possible to monitor discovering process when using Google Nearby Connections 2.0?

2) Versuchen Sie es auf zwei Android-Handys, nur um sicherzustellen, dass der Code funktioniert. Die Schnipsel sehen gut aus, aber man weiß es nie.

3) Senden Sie mir das Modell & Android OS Build-Version Ihres Telefons und Ihrer Android Things-Gerät.

+0

Es funktionierte, als ich für bestimmte Service-ID suchte, aber es ist ausreichend für mein Projekt. Vielen Dank –