[Android] 앱 에서 전화 받기 API


Android/코드창고 2012.11.13 09:59



일반적인 방법으로는 앱에서 전화를 받는 방법은 없습니다. 다른 기기에서 블루투스로 연결을 하거나, 혹은 기기를 연결해서 테스트해보았는데, Call 을 받는 인텐트가 없기 때문에 (ACTION_CALL_BUTTON이라는 것을 사용해봤는데도 잘 되지않습니다. 강제로 전화가 올 때 KEYCODE_CALL_BUTTON을 누르도록 해도 전화오는 화면(혹은 어플리케이션)에 대해 동일한 SIgn 이 되지 않았기 때문에 INJECTS_EVENT Permission 오류를 뱉어냅니다.) 그렇다면 앱에서 전화를 받기 위해서는 어떻게 해야 할까요? 


 Android 에는 TelephonyManager라는 것이 있습니다. 만약에 전화벨이 울린다면, 바로 이 곳에서 캐치가 가능한데요. 


TelephonyManager.CALL_STATE_RINGING이 바로 전화벨이 울릴 때 받는 State입니다. 이외에도 전화걸때 등 여러가지 값들이 있으니 한번 살펴보시길 바랍니다. 아래는 예제소스입니다. 전화가 왔을 때 KEYCODE_HEADSETHOOK를 통해 전화를 받도록 지정해놓았습니다. HEADSETHOOK 은 여러분의 이어폰에서 전화를 받을 때 꾹 눌러주는 그 버튼입니다. 전화가 올 때도 이 버튼을 누른 것과 같은 효과를 발생시켜 전화를 받도록 한 예제입니다.

저작자 표시 비영리 변경 금지
신고

WRITTEN BY
ShakeJ

0 ,