Aplicación SIP para Android, cómo usar servicios y actividades

Me encantaría que alguien me pudiera señalar algunos buenos recursos o en la dirección correcta, o incluso mejor bombear algunos fragmentos de código / pseudo código para ayudarme aquí.

Soy nuevo en el desarrollo de android y he sido encargado de crear una aplicación que utiliza una biblioteca sip para hacer / recibir llamadas sip. La biblioteca está bastante abstraída y funciona con una instancia de 'teléfono' a la que puedo llamar .rejectCall (), .answerCall () y así sucesivamente. Para obtener la instancia del teléfono, utilizo esta línea:

AbtoPhone abtoPhone = ((AbtoApplication)getApplication()).getAbtoPhone(); 

Eso es todo bien y dandy, pero no entender las actividades y servicios correctamente No estoy seguro de cómo ir sobre convertirlo en una aplicación.

Quiero la capacidad de un usuario para iniciar sesión, registrarse con un servidor de sip y luego dejar que el teléfono escuchará las llamadas.

Quiero que siga escuchando las llamadas cuando se pone en el fondo. Y cuando en el fondo quiero abrir un diálogo que permite a alguien responder o rechazar la llamada, y en la respuesta quiero que la actividad intial para despertar (o si se ha matado, entonces quiero que arranque) y ser llevado a la Primer plano para que el usuario pueda chatear alegremente.

¿Cómo puedo hacerlo? En este momento estoy recibiendo el AbtoPhone en la actividad principal, agregando la cuenta, agregando todos los oyentes, y luego cuando un usuario pulsa el botón de registro inicia un servicio pegajoso que recibe su propia instancia del teléfono, con el mismo comando como antes.

Luego, dentro del servicio, registro al usuario con el cliente sip. Ahora cuando cierro la actividad principal esto sigue funcionando y recibirá una llamada, sin embargo se bloqueará con una excepción:

 android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@4154ebb0 is not valid; is your activity running? 

Tengo que mi problema es la actividad original que llamó el servicio está muerto y estoy tratando de despertarlo. Pero no sé cómo hacer eso correctamente.

Tengo que los servicios y actividades es una pregunta repetida, y he mirado alrededor de leer tutoriales sin embargo no puedo ver cómo aplicarlas correctamente a mi caso, y sólo esperando que alguien será capaz de decir Do X, iniciar el servicio, pasar esto, cuando Usted recibe una llamada hacer Y y VOILA! ¡Pero cualquier ayuda que tan siempre será grandemente, apreciada !!!

Aclamaciones,

DJOodle

>>>> EDITAR

Ok, he movido todo el manejo de AbtoPhone a un servicio. Cuando recibo una llamada entonces invoco la MainActivity, lo enlazamos al servicio, así que puedo invocar los métodos correctos para contestar la llamada.

Esto está bien y funciona, sin embargo esto significa que tengo un servicio persistente que siempre está funcionando, y tengo la sensación de que es una mala cosa, mala. ¿Cómo puedo mantener una instancia de AbtoPhone escuchando para llamadas incomming sin drenar los recursos del teléfono?

¡Aclamaciones!

One Solution collect form web for “Aplicación SIP para Android, cómo usar servicios y actividades”

Este es un gran tema. Creo que deberías dar una oportunidad a Sip-Droid, que es una aplicación de código abierto. Así que usted puede utilizar cualquier cosa relacionada con él.

 http://code.google.com/p/sipdroid/ 

Esta es una aplicación basada en Sip que hace todo lo que pediste. Creo que puedes usar el código fuente y volver a desarrollar todo lo que quieras. Esta aplicación utiliza JNI que es un tema más complicado que Sip. Así que utilice todos los JNI en esta aplicación y encontrará un montón de lib que puede utilizar y hacer las obras más rápido.

  • Las devoluciones de llamada de SipRegistrationListener no se disparan
  • Android sip pila con el apoyo de manipulación de códec?
  • PJSUA2 sip aplicación android nativa
  • Cómo las notificaciones push de Linphone son compatibles con Android / iOS
  • Android M: VoIP, JAINSIP, SipStack; Inconsistent SipProvider Excepción al crear un punto de escucha con tls habilitado
  • Personalización de Sipdroid
  • Aplicación VOIP para Android sin acceso a Internet
  • Android SIP con CSipSimple y pjsip
  • Cómo enviar y recibir Voice Stream utilizando RTP
  • ¿Cómo funciona SIP en la red celular?
  • Crear cuenta de SIP de Android mediante programación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.