Как мне отклонить / ответить на звонок в Android 2.3.3?

1

Я пытаюсь отклонить/ответить на вызов в android 2.3.3. Я попытался использовать ITelephony- endcall() и answerRingingCall() без успеха. Есть идеи?

Теги:

2 ответа

2

Как отвечать на входящий вызов:

/**
 * Emulates a headset button press to accept the call
 * 
 * @param context
 *            A context to use
 */
public static void answerPhoneHeadsethook(Context context) {
    // Simulate a press of the headset button to pick up the call
    // SettingsClass.logMe(tag, "Simulating headset button");
    Intent buttonDown = new Intent(Intent.ACTION_MEDIA_BUTTON);
    buttonDown.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK));
    context.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));
    context.sendOrderedBroadcast(buttonUp, "android.permission.CALL_PRIVILEGED");
}

Насколько мне известно, нет способа отклонить вызовы в 2. 3+ (можно было бы принять и отклонить вызов с помощью метода выше, но тогда вызывающий абонент должен его оплатить).

  • 0
    Извините за вопрос новичка, но я вызываю этот метод из своей деятельности. Что я должен использовать вместо контекста (getapplicationcontext?)?
  • 0
    YOURACTIVITY.this - и всегда лучше использовать this чем getApplicationContext
Показать ещё 2 комментария
1

Необходимо отправить это намерение раньше!

Intent headSetUnPluggedintent = new Intent(Intent.ACTION_HEADSET_PLUG);
              headSetUnPluggedintent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
              headSetUnPluggedintent.putExtra("state", 1);
              headSetUnPluggedintent.putExtra("name", "Headset");

              // TODO: Should we require a permission?
             sendOrderedBroadcast(headSetUnPluggedintent, null);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню