2011-10-14 13 views

Odpowiedz

27

Tak, można sprawdzić, czy połączenie jest aktywne na urządzeniu lub nie:

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

Dzięki. To niezły pomysł. Właśnie dodałem drugie pytanie uzupełniające, ponieważ rozwiązuje to tylko połowę mojego problemu (co, jak sądzę, nie zostało stwierdzone zbyt dobrze). – DanJ

+2

Nie sądzę, że jest to wskazany sposób, ponieważ menedżer audio może być używany przez inne aplikacje również ustawić różne tryby (jak mode_normal lub mode_in_call) dla własnych celów. W ten sposób powyższy kod nie będzie użyteczny. –

+2

Nie jest to pewna wskazówka, że ​​połączenie jest aktywne; ale na szczęście ta metoda pozwala sprawdzić, czy aktywne jest również połączenie VoIP. –

Powiązane problemy