Подход, используемый при моделировании трубки BT, не работает со всеми версиями Android и со всеми устройствами, так как обработка BT может отличаться.
Наилучший подход, проверенный во многих устройствах и версиях Android, заключается в эмуляции нажатия и отпускания кнопки вызова в программе набора номера:
Intent buttonDown = new Intent(Intent.ACTION_MEDIA_BUTTON);
buttonDown.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_CALL));
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_CALL));
context.sendOrderedBroadcast(buttonUp, "android.permission.CALL_PRIVILEGED");
Вы также можете сделать это, отправив команду Shell «input keyevent 5» через adb или через Runtime.exec, но в моем случае это не работает для всех устройств