Как разобрать CustomIQ в ASMACK
Я использую библиотеку ASMACK для моего приложения. Я получил следующий IQ с моего сервера.
<iq id='bind_2' type='result'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid username='xx' fullname='yy'>[email protected]/Resource</jid></bind></iq>
Для анализа этого IQ я добавил IQProvider при настройкеXmppConnection конфигурация с помощьюProviderManager класс как
ProviderManager.getInstance().addIQProvider("bind",
"urn:ietf:params:xml:ns:xmpp-bind",
new CustomIQProvider());
И мойCustomIQProvider класс
public class CustomIQProvider implements IQProvider {
public static final String NAME_SPACE = "urn:ietf:params:xml:ns:xmpp-bind";
@Override
public IQ parseIQ(XmlPullParser parser) throws Exception {
Log.i("My_TAG", "inside LivBindIQ");
CustomIQ bindIQ = new CustomIQ();
if (parser.getEventType() != XmlPullParser.START_TAG) {
throw new IllegalStateException(
"Parser not in proper position, or bad XML.");
}
boolean done = false;
while (!done) {
int eventType = parser.next();
if ((eventType == XmlPullParser.START_TAG)
&& ("entry".equals(parser.getName()))) {
eventType = parser.next();
String name = parser.nextText();
eventType = parser.next();
String value = parser.nextText();
}
else if (eventType == XmlPullParser.END_TAG) {
done = true;
}
}
return bindIQ;
}
}
И мойCustomIQ класс есть,
public class CustomIQ extends IQ {
@Override
public String getChildElementXML() {
// TODO Auto-generated method stub
return null;
}
}
Теперь я запутался в том, какCustomIQProvider
класс будет выполнен .. Я не получил никакого журнала отCustomIQProvider
учебный класс. Правильны ли мои шаги, в противном случае мне нужно сделать какие-либо шаги для вызова моегоCustomIQProvider
учебный класс