2013-01-08 16 views

回答

7

我找到了答案:

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(); 
} 

如果服務器沒有與指定名稱的任何entery然後Itearator它有沒有價值,代碼將不進去,而(it.hasNext)..

+1

注必須首先授權xmpp連接會話。例如,如果您正在註冊新帳戶,則無法使用此方法檢查用戶名可用性。 –

+1

@nitin tyagi answerForm.setAnswer(「Username」,true); 在這種情況下,answerForm.setAnswer(「search」,user)中的用戶值是多少?它用戶名或其他。 – Mahi

+0

@MahiSingh你知道用戶是用戶名還是jabberid? – Tijme

相關問題