Программно ответить на звонок - PullRequest
0 голосов
/ 13 февраля 2012

Я сделал такой код для программного ответа:

try {
   telephonyService.answerRingingCall();            
}
catch (Exception exx) {
     answerPhoneHeadsethook();
}

private void answerPhoneHeadsethook() {
    // Simulate a press of the headset button to pick up the call
    Intent buttonDown = new Intent(Intent.ACTION_MEDIA_BUTTON);
    buttonDown.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK));
    activity.sendOrderedBroadcast(buttonDown, "android.permission.CALL_PRIVILEGED");

    // froyo and beyond trigger on buttonUp instead of buttonDown
    Intent buttonUp = new Intent(Intent.ACTION_MEDIA_BUTTON);
    buttonUp.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK));
    activity.sendOrderedBroadcast(buttonUp, "android.permission.CALL_PRIVILEGED");
} 

Итак ... я пытаюсь ответить с помощью интерфейса ITelephony.aidl, и, если он не может, сделать это с помощью Hadsethook ... он работает почти навсе типы мобильных телефонов, кроме Htc Sensation (ОС: Android 2.3.3) ... Может кто-нибудь помочь мне решить эту проблему!Буду признателен за любые идеи!Спасибо!)

1 Ответ

1 голос
/ 23 сентября 2013

Пожалуйста, проверьте эту ссылку, она имитирует подключение гарнитуры до фактического ответа. http://androidbridge.blogspot.com/2011/05/how-to-answer-incoming-call-in-android.html

...