Как совершить телефонный звонок в Android

«Как совершить телефонный звонок в Android» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для совершения телефонного звонка в Android используйте неявный Intent с действием Intent.ACTION_DIAL или Intent.ACTION_CALL.

ACTION_DIAL (рекомендуется) открывает диалер с номером:

val intent = Intent(Intent.ACTION_DIAL).apply {
    data = Uri.parse("tel:123456789")
}
startActivity(intent)

ACTION_CALL требует разрешения:

<uses-permission android:name="android.permission.CALL_PHONE"/>
if (checkSelfPermission(CALL_PHONE) == PERMISSION_GRANTED) {
    val intent = Intent(Intent.ACTION_CALL).apply {
        data = Uri.parse("tel:123456789")
    }
    startActivity(intent)
} else {
    requestPermissions(arrayOf(CALL_PHONE), REQUEST_CODE)
}

Важно: ACTION_CALL может быть ограничен на некоторых устройствах. Всегда проверяйте разрешения перед вызовом.