minSdk 24, because the SDK turns the feature off by itself on older versions.| Feature | Permission the user grants | Where the user grants it |
|---|---|---|
| Reject known spam calls | Caller ID and spam app role | A system dialog you trigger |
| Show a name over the call screen | Display over other apps | A Settings screen you open |
CallScreeningService of your own, and do not add android.permission.BIND_SCREENING_SERVICE. Both are present already.CallerAPI.prewarmAsync(number) when you already know a number is about to call, for example from your own recent calls list. That fills the cache in advance.CallerAPI.canShowIncomingCallerIdOverlay(this).setAnalyticsConsent(true).