마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

android 6.0 이상부터 동작하는 answer call 코드가 있을까요?

0 추천

ITelephony code를 이용하니 answer call code는 시스템 permission이 필요하더라구요

구글링으로 찾아 본 소스 중 keycode를 control 해서 쓰는 코드 (하단)

try {
    Log.d(TAG, "execute input keycode headset hook");
    Runtime.getRuntime().exec("input keyevent " +
            Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK));

} catch (IOException e) {
    // Runtime.exec(String) had an I/O problem, try to fall back
    Log.d(TAG, "send keycode headset hook intents");
    String enforcedPerm = "android.permission.CALL_PRIVILEGED";
    Intent btnDown = new Intent(Intent.ACTION_MEDIA_BUTTON).putExtra(
            Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN,
                    KeyEvent.KEYCODE_HEADSETHOOK));
    Intent btnUp = new Intent(Intent.ACTION_MEDIA_BUTTON).putExtra(
            Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP,
                    KeyEvent.KEYCODE_HEADSETHOOK));

    sendOrderedBroadcast(btnDown, enforcedPerm);
    sendOrderedBroadcast(btnUp, enforcedPerm);

는 5.0 이하에서만 동작하는 것 같았습니다.

혹시 다른 방식을 아시는 분이 계실까요?ㅠㅠ

 

end call도 ITelephony로 동작 확인 하긴 했는데 다른 방식이 있으면 추천 부탁드립니다!

(240 포인트) 님이 2017년 7월 11일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...