2010-07-21 4 views
0

Android 휴대 전화의 마이크를 전환하려고합니다. 앱. 내가 500ms의 지연으로 루프에서 음소거를 실행하고 음소거를 해제하면 작동이 멈 춥니 다. 모바일이 이런 식으로 행동하는 특별한 이유가 있습니까? (Motorola Droid는 전화기를 음소거 할 수조차 못한다.) 그러나 다른 모든 이동 통신사는이를 수행 할 수 있습니다.휴대 전화 음소거 중 앱이 동결됩니다.

이 20 배

audioService.setMicrophoneMute (사실)에 대한 루프에서 실행;

if(audioService.isMicrophoneMute()) 
       { 
      Toast.makeText(getBaseContext(), "MUTED", 1).show();} 
    try { 
     Thread.sleep(1000,90); 
     } 
     catch (InterruptedException e) 
     { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    audioService.setMicrophoneMute(false); 
    if(!audioService.isMicrophoneMute()){ 
Toast.makeText(getBaseContext(), "Un MUTED", 1).show(); 
+0

문제는 "Thread.sleep (1000,90);"이라고 생각합니다. 주 스레드에서이 작업을 취소하면 Ui 작업이 지정된 시간 동안 차단됩니다. –

답변

0

주 스레드에서 실행 중이며 새로운 스레드를 생성하면 정상적으로 작동합니다.

관련 문제