2016-12-26 1 views
-1

Я разрабатываю приложение для общения с помощью asmack. Мне нужно отфильтровать входящий IQ. Я использую код ниже.Как получить доступ к IQTypeFilter, который имеет модификатор частного доступа в android asmack library?

PacketFilter filter = new IQTypeFilter(IQ.Type.SET); // or IQ.Type.GET etc. according to what you like to filter. 

connection.addPacketListener(new PacketListener() { 
    public void processPacket(Packet packet) { 
     // HERE YOU PUT YOUR CODE TO HANDLE THE IQ MESSAGE 
    } 
}, filter); 

Это шоу IQTypeFilter имеет частный доступ. Так что я не могу получить доступ сюда. Как это решить? Заранее спасибо

Мои банки зависимостей являются

компиляции «org.igniterealtime.smack: шлепок-андроид: 4.1.4»

compile 'org.igniterealtime.smack:smack-tcp:4.1.4' 
compile 'org.igniterealtime.smack:smack-im:4.1.4' 
compile 'org.igniterealtime.smack:smack-extensions:4.1.4' 
+0

Какой ошибки вы столкнулись? отправьте код. – Noorul

+0

Ошибка: (290, 68) error: несовместимые типы: StanzaFilter не может быть преобразован в Type –

+0

Опубликовать полный код и журнал. Потому что ошибка может возникнуть по ряду других причин. – Noorul

ответ

0

Всего необходимых экземпляров IQTypeFilter доступны в качестве открытых статических полей класс. См. Например: IQTypeFilter.GET_OR_SET.

Если вам нужны более мелкозернистые фильтрации вы можете посмотреть в FlexibleStanzaTypeFilter

+0

Можете ли вы дать мне пример кода для того, как его использовать? –

Смежные вопросы