【问题标题】:How to access access IQTypeFilter which has private access modifier in android asmack library?如何访问在android asmack库中具有私有访问修饰符的访问IQTypeFilter?
【发布时间】:2016-12-26 17:02:14
【问题描述】:

我正在使用 asmack 开发聊天应用程序。我需要过滤传入的 IQ 。我正在使用下面的代码。

 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 具有私人访问权限。所以我无法访问这里。如何解决这个问题?提前致谢

我的依赖 jar 是

编译'org.igniterealtime.smack:smack-android: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'

【问题讨论】:

  • 您遇到了什么错误?贴出代码。
  • 错误:(290, 68) 错误:不兼容的类型:StanzaFilter 无法转换为类型
  • 发布完整代码和日志。因为,错误可能由于其他一些原因而上升。

标签: android xmpp openfire


【解决方案1】:

IQTypeFilter 的所有必需实例都可用作类的公共静态字段。例如:IQTypeFilter.GET_OR_SET

如果您需要更细粒度的过滤,您可能需要查看FlexibleStanzaTypeFilter

【讨论】:

    猜你喜欢
    • 2020-05-04
    • 2017-12-22
    • 2015-11-26
    • 2014-08-27
    • 2011-04-18
    • 2011-01-31
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多