2016-12-26 22 views
-1

我正在開發使用asmack的聊天應用程序。我需要過濾傳入的智商。我使用下面的代碼。如何訪問在Android asmack庫中具有私有訪問修飾符的訪問權限IQTypeFilter?

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)錯誤:不兼容的類型:StanzaFilter無法轉換爲類型 –

+0

發佈完整的代碼和日誌。因爲,由於其他原因,錯誤可能會增加。 – Noorul

回答

0

所有必需的IQTypeFilter情況下,可作爲公共靜態字段班上。例如見:IQTypeFilter.GET_OR_SET

如果您需要更細粒度的過濾,你可能想看看FlexibleStanzaTypeFilter

+0

你能告訴我如何使用這個示例代碼嗎? –