私は現在、asmacklibを使用してXMPPサーバーに接続するアプリケーションに取り組んでいます。このアプリケーションには、基本的にメッセージの送受信、ステータスの変更などが含まれます。
現時点では、XMPP接続はアプリケーション内に存在し、ある種のバックグラウンドサービスには含まれていません。だから今私は疑問に思っています、サービスを使用して接続を維持するか、アプリケーションが実際に実行されているときに接続を維持する方が良いですか?
これは、アプリケーションがバックグラウンドで実行されているとき、およびユーザーがXMPP接続のあるアクティビティに戻ったときに、XMPPサーバーに接続したままにしておきたいことを考慮しています。メインアクティビティ(クレデンシャルで接続している場所)に関しては、同じクレデンシャルでXMPP接続を再接続する場合はこのようにしました。しかし、連絡先ビューにしばらく滞在すると、そのアクティビティが接続時に差し押さえに戻った場合(つまり、nullポインタ例外)、しばらくすると接続が閉じられるという問題に直面しています。ここでは、再接続することはできません。繋がり。
ある意味で、アクティビティがフォアグラウンド/開始されたらすぐに(再)接続/ログインする方がよいのか、それともサービス内で一度接続してこの接続を維持する方がよいのかを尋ねています。
サービスの作成がより良い方法である場合、フラグメントからの作成方法とXMPP接続の作成方法、およびボタンを使用してログインとログアウトを行う必要があります。これらのオプションをサービスで維持する方法。
前もって感謝します、