私は、受信したメッセージや着信コールなどをバックグラウンドでリッスンし、メッセージの種類に応じてさまざまなアクティビティで表示または出力する必要のあるメッセージングおよびSIPアプリケーションを用意しています。私の質問です:これのSIPの部分を達成するための最良の方法は何ですか? AsyncTask、Service、IntentServiceなど?Android SIPサービスの永続性
私のアプリが起動すると、最初にローディングインジケーターを表示し、ユーザーにローディング状態を表示し、初期状態を確認します(サーバーアプリケーションのチェックインやサウンドレベルの設定など)。 )。
その時点で、私はSIPサーバにSIPクライアントとして登録し、そこに座ってバックグラウンドで着信呼を聞きたいのですが、他のアクティビティはフォアグラウンドで実行されます(時計やWebViewなど)。ウェブページなど)。 SIPコールが来たら、私はそれに答えるためにバックグラウンドSIPクライアントを必要とし、そこにあったかもしれない活動からスクリーンを引き継ぐ。
元々、SipListener
クラスはAsyncTask
で始まりました。 1)メモリリークのリスクを冒したくない、2)SIPサーバに登録した後にSIPクライアントを持続させることができなかったという2つの懸念があります(したがって、着信呼が聴取されていない、答えた)。
次に、SipListener
クラスをService
に移植しようとしました。しかし、問題は、SIPがネットワークサービスであり、Network-on-Main-Thread例外を取得していたために登録することすらできなかったということでした。
今、このIntentService
オプションが表示されています。その方法があるかどうか疑問に思っていますか?
私はAndroidを学んでいるので、危険であると知っています。誰かが私を正しい方向に向けることができますか?