Incallui 〈Certified ◆〉

The InCallUI activity requires an absurdly fast start-up time. Telecom starts a "warm-up" process pre-emptively. If your InCallActivity takes longer than ~200ms to inflate its layout or bind to InCallService , the system times out. The call connects, but the UI never appears.

Use adb shell dumpsys telecom and look for InCallController . If you see mIsBound = false while a call is active, your UI has crashed silently. Customizing InCallUI (The Right Way) Let’s say you're building a VoIP app (like WhatsApp or Signal). You don't want to replace the system dialer. You want your own call screen inside your app. incallui

But here’s the catch: For a long time, InCallUI was a tightly guarded, OEM-specific application. With the introduction of the Telecom framework and ConnectionService APIs, Google attempted to standardize it. Yet, the reality remains messy. The InCallUI activity requires an absurdly fast start-up

Now, your Android tablet can show an InCallUI for a call active on your phone. This is implemented via a new InCallService extension that proxies touch events (mute, speaker) back to the phone over Bluetooth LE. The call connects, but the UI never appears