2011-10-14 13 views

risposta

27

Sì, è possibile controllare se una chiamata è attiva sopra il 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

Grazie. Questa è una bella idea. Ho appena aggiunto una seconda domanda di follow-up, perché questo risolve solo metà del mio problema (che presumo non è stato dichiarato molto bene) – DanJ

+2

Non penso che questo sia un modo consigliabile per farlo perché il gestore audio può essere utilizzato anche da altre applicazioni per impostare diverse modalità (come mode_normal o mode_in_call) per i propri scopi .. in questo modo sopra il codice non sarà utile. –

+2

Questa non è un'indicazione sicura che una chiamata telefonica è attiva; ma fortunatamente, questo metodo permette di scoprire se anche una chiamata VOIP è attiva. –

Problemi correlati