I have used the accepted answer from here to disconnect the call. It disconnects the call for android 4.0.3 device but InCall screen comes for fraction of second before getting disconnected. How to avoid that Call UI screen. But calls blacklist app from playstore disconnects call without showing the call screen. How to achieve the same.
There is no 100% guaranteed way to achieve the same. As android.intent.action.PHONE_STATE comes too late ie after CallNotifier calls IncomeUI screen. But we can improve the performance to reduce the time delay for flickering effect.
http://blog.wangling.me/2009/08/why-it-is-impossible-to-intercept-incoming-calls-on-android.html