I would like to intercept the Android\'s OS incoming call screen and replace it with my app\'s incoming call screen. However, there is no API to do so, but I know for sure it is
I guess you might have done 95% of the work. The problem of your screen not showing up but the system incoming call could be solved like this :
Can an activity receive an unordered broadcast(incoming call) intent before system's default receiver?