2011-10-14 3 views

Respuesta

27

Sí, se puede comprobar si una llamada está activa sobre el dispositivo o no:

public static boolean isCallActive(Context context){ 
    AudioManager manager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE); 
    if(manager.getMode()==AudioManager.MODE_IN_CALL){ 
     return true; 
    } 
    else{ 
     return false; 
    } 
} 
+0

Gracias. Esta es una buena idea. Acabo de agregar una segunda pregunta de seguimiento, porque esto solo resuelve la mitad de mi problema (que supongo que no fue muy bien dicho) – DanJ

+2

No creo que sea una forma recomendable de hacerlo porque el administrador de audio puede ser utilizado por otras aplicaciones también para establecer diferentes modos (como mode_normal o mode_in_call) para sus propios fines ... de esa manera, el código anterior no será útil. –

+2

Esta no es una indicación segura de que una llamada telefónica esté activa; pero afortunadamente, este método permite encontrar si una llamada VOIP también está activa. –

Cuestiones relacionadas