2013-01-08 5 views

Antwort

7

fand ich die Antwort:

UserSearchManager search = new UserSearchManager(mXMPPConnection); 
Form searchForm = search 
    .getSearchForm("search." + mXMPPConnection.getServiceName()); 

Form answerForm = searchForm.createAnswerForm(); 
answerForm.setAnswer("Username", true); 
answerForm.setAnswer("search", user); 
ReportedData data = search 
    .getSearchResults(answerForm, "search." + mXMPPConnection.getServiceName()); 

if (data.getRows() != null) { 
    for (ReportedData.Row row: data.getRows()) { 
     for (String value: row.getValues("jid")) { 
      Log.i("Iteartor values......", " " + value); 
     } 
    } 
    Toast.makeText(_service, "Username Exists", Toast.LENGTH_SHORT).show(); 
} 

wenn Server keine entery mit dem angegebenen Namen hat dann Itearator es keinen Wert hat und Code nicht innerhalb while (it.hasNext) gehen ..

+1

Hinweis dass die xmpp-Verbindungssitzung zuerst autorisiert werden muss. Wenn Sie beispielsweise ein neues Konto registrieren, können Sie diese Methode nicht verwenden, um die Verfügbarkeit von Nutzernamen zu überprüfen. –

+1

@nitin tyagi answerForm.setAnswer ("Benutzername", wahr); In diesem Fall was ist Benutzerwert in answerForm.setAnswer ("Suche", Benutzer); Es ist Benutzername oder anderes. – Mahi

+0

@MahiSingh wissen Sie bereits, ob Benutzer der Benutzername oder der Jabberid ist? – Tijme