2016-12-26 3 views
-1

私はasmackを使ってチャットアプリケーションを開発しています。着信IQをフィルタリングする必要があります。私は以下のコードを使用しています。アンドロイド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); 

このshow IQTypeFilterにはプライベートアクセスがあります。だから私はここにアクセスできない。これを解決するには?事前のおかげで

私の依存関係のjarファイルは

コンパイル「org.igniterealtime.smack:ピシャリ-アンドロイド:4.1.4」であり

IQTypeFilter

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.GET_OR_SETを参照してください。

あなたがよりきめの細かいフィルタリングが必要な場合は、あなたが直面しているどのようなエラーFlexibleStanzaTypeFilter

+0

このコードの使い方のサンプルコードを教えてもらえますか? –

関連する問題