In the Android CallScreeningService docs it states that the CallScreeningService class should be implemented for two purposes as seen below, Call blocking/screening and Call identification (display a user-interface of their choosing which contains identifying information for a call).
I have implemented the class CallScreeningService and am able to block incoming or outgoing calls, however in the class CallScreeningService or any of its utilised classes (Call.Details, Call.Response) I cannot find any methods or documentations on how to provide Caller Id as the docs outline. The role required by the application to implement CallScreeningService is ROLE_CALL_SCREENING which also notes providing caller id in its docs:
To qualify for this role, an application needs to implement CallScreeningService. The application will be able to screen calls and provide call identification
CallScreeningService docs: https://developer.android.com/reference/android/telecom/CallScreeningService
So 2 years after the question was asked, I ran into the same confusion. The crux is in these 2 lines (not sure if they were present 2 years ago):
If your app provides a caller ID experience, it should launch an activity to show the caller ID information from onScreenCall(android.telecom.Call.Details).