Installation
Add the plugin to your Flutter project and configure dependencies.
Quickstart
Show your first incoming call screen in under 5 minutes.
Android Setup
Configure AndroidManifest.xml, permissions, and proguard rules.
iOS Setup
Configure Info.plist, CallKit entitlements, and AppDelegate.
What is Flutter Callkit Incoming?
Flutter Callkit Incoming is a Flutter plugin that shows a native incoming call UI when your app receives a VoIP call. On iOS it uses Apple’s CallKit framework for a system-level call screen. On Android it renders a custom full-screen notification that works on the lock screen. The plugin handles the full call lifecycle — from showing the ringing UI to accepting, declining, ending, holding, and muting calls — and fires Dart events for each action so your app can react accordingly.Key features
Native incoming call UI
iOS uses the native CallKit screen. Android shows a full-screen custom notification with ringtone and vibration.
Full call lifecycle
Handle accept, decline, end, timeout, hold, mute, DTMF, and audio session events via a single Dart stream.
VoIP PushKit (iOS)
Wake your app from a terminated state when a VoIP push arrives using Apple’s PushKit framework.
Outgoing calls
Start outgoing calls that appear in the iOS Phone app’s recents list and fire the same lifecycle events.
Missed call notifications
Show a missed call notification on both platforms with a configurable callback action.
Native integration
Initiate calls directly from Swift, Kotlin, or Objective-C without going through Dart.
Platform support
| Platform | Min version | Notes |
|---|---|---|
| Android | API 21+ | Custom full-screen notification UI |
| iOS | iOS 10+ | Native CallKit framework — real device only |
Quick example
Next steps
Installation
Install the package
Android setup
Configure Android
iOS setup
Configure iOS
Show incoming call
Display a call screen
Call events
React to user actions
API reference
Full API docs
