0

J'ai une messagerie et une application SIP qui doit écouter les messages reçus, les appels entrants, etc. en arrière-plan, puis les afficher ou les afficher dans diverses activités (en fonction du type de message). Ma question est: quelle est la meilleure façon d'accomplir la partie SIP de ceci? AsyncTask, Service, IntentService, etc.? Donc, quand mon application démarre, je commence une activité de démarrage qui montre un indicateur de chargement, montre le statut de chargement à l'utilisateur, s'occupe de certaines choses initiales (comme l'enregistrement avec notre application serveur, le réglage du niveau sonore, etc. .). À ce moment-là, je voudrais m'inscrire en tant que client SIP avec mon serveur SIP, et rester assis à l'écoute des appels entrants en arrière-plan, alors que d'autres activités peuvent s'exécuter au premier plan (comme une horloge ou WebView avec une page web, etc.). Si un appel SIP arrive, j'ai besoin du client SIP en arrière-plan pour y répondre et prendre le contrôle de l'écran à partir de n'importe quelle activité qui aurait pu s'y trouver.Android SIP Service Persistance

À l'origine, j'ai commencé avec un AsyncTask pour ma classe SipListener; mais j'ai deux soucis: 1) je ne veux pas risquer de fuites de mémoire, et 2) je ne pouvais pas faire persister le client SIP après une inscription réussie avec le serveur SIP (donc, aucun appel entrant n'était écouté, beaucoup moins répondu). Puis, j'ai essayé de porter ma classe SipListener dans un Service. Mais le problème était que je ne pouvais même pas m'inscrire parce que SIP est un service réseau et que je recevais des exceptions Network-on-Main-Thread.

Maintenant, je vois cette option IntentService, et je me demande si c'est la voie à suivre? J'apprenais Android, alors j'en sais juste assez pour être dangereux, comme on dit! Quelqu'un peut me diriger dans la bonne direction?

Répondre

0

Vous pouvez implémenter Sip in service, et pas seulement un programme d'écoute, et démarrer une activité ou envoyer une notification sur un appel entrant (messages).

si vous voulez vous mettre au défi consultez Linphone for android. Essayez de le construire, ce sera une bonne pratique pour vous, utilisez-le et personnalisez-le. En outre, ils ont un Service, qui peut vous aider.

Bonne chance.