RingKitIncomingCall.present(...). No RingKit changes are needed — and RingKit deliberately does
not bundle the Huawei SDK, so your GMS builds stay clean.
1
Add HMS to your app (not the plugin)
Project App Put your
build.gradle:build.gradle:agconnect-services.json (from AppGallery Connect) in the app module.2
Add a messaging service that hands calls to RingKit
type == cancelType), branch on
RingKitPayload.isCancel(data, config) and call
RingKitIncomingCall.dismiss(applicationContext, callId) instead of present(...) — see
Remote cancel.3
Register the service in your app manifest
4
Send the wake message
Send an HMS Push data message (through AppGallery Connect or the HMS Push REST API)
carrying the same call fields as FCM —
callId, handle, hasVideo, chatId, or your
own names remapped with payloadKeys. Everything
downstream — Telecom, the full-screen fallback, the silent-failure watchdog, answer
routing — is identical to the GMS path.The full-screen fallback matters even more here: some Huawei ROMs are strict about
self-managed Telecom, so keep
androidFullScreenFallback: true (the default) or force it with
androidForceFullScreen: true. See Android reliability.