2013-01-08 36 views

Trả lời

7

Tôi tìm thấy câu trả lời:

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

nếu Server không có bất kỳ entery với tên được chỉ định sau đó Itearator nó không có giá trị và mã sẽ không đi vào bên trong khi (it.hasNext) ..

+1

Note phiên kết nối xmpp phải được ủy quyền trước. Ví dụ: nếu bạn đang đăng ký tài khoản mới - bạn không thể sử dụng phương pháp này để kiểm tra tính khả dụng của tên người dùng. –

+1

@nitin tyagi answerForm.setAnswer ("Tên người dùng", đúng); Trong trường hợp này giá trị người dùng là gì trong answerForm.setAnswer ("tìm kiếm", người dùng); Nó là tên người dùng hoặc khác. – Mahi

+0

@MahiSingh bạn có biết liệu người dùng có phải là tên người dùng hay là jabberid không? – Tijme

Các vấn đề liên quan