How can I reject incoming calls in android studio or add them to the blocked contacts list (java)

I am making an Android application that is supposed to block a specific set of numbers that might change over time. I have found a way to detect what number is calling:

    private void blockNumber() {
        String blockNumber = "+359895656436";
        TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
        telephonyManager.listen(new PhoneStateListener() {
            public void onCallStateChanged(int state, String phoneNumber) {
                Log.d("phonecalled", state + " " + phoneNumber);
                if(phoneNumber.equals(blockNumber)) {
//                    telephonyService.endCall();
// block number


        }, PhoneStateListener.LISTEN_CALL_STATE);

I have seen solutions such as,%20java.lang.String).Search Baron

(I have no idea how to obtain the Call object and use it to reject the call)

How to Answer or reject incoming calls programmatically in Android 9+?

(I do not want to make a dealer app)

which gives me

java.lang.SecurityException: Caller must be system, default dialer or default SMS app

I also tried finding solutions on GitHub but did not find anything.