Java 在android中阻止来电,无需单响

Java 在android中阻止来电,无需单响,java,android,Java,Android,虽然这个代码我可以阻止来电,但问题是,在断开连接之前,它只响了几秒钟。我怎么能在没有铃声的情况下直接断开电话呢 public class IncomingCallsReceiver extends BroadcastReceiver { private Context context; private static int CALLSHIELD_ID = 1982; private static final String TAG = "Phone call"; private ITelephon

虽然这个代码我可以阻止来电,但问题是,在断开连接之前,它只响了几秒钟。我怎么能在没有铃声的情况下直接断开电话呢

public class IncomingCallsReceiver extends BroadcastReceiver {
private Context context;
private static int CALLSHIELD_ID = 1982;
private static final String TAG = "Phone call";
private ITelephony telephonyService;

@Override
public void onReceive(Context context, Intent intent) {
    Log.i("Log","coming");
    this.context = context;
    String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
    if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
        TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
        Bundle bundle = intent.getExtras();
        String incomingNumber = bundle.getString("incoming_number");
        Cursor cursor;
        if (G.savePreferences.getString("modef", "0").equals("0")) {
            switch (G.savePreferences.getString("mode", "2")) {
                case "0":
                    break;
                case "1":
                    try {
                        Class c = Class.forName(telephony.getClass().getName());
                        Method m = c.getDeclaredMethod("getITelephony");
                        m.setAccessible(true);
                        telephonyService = (ITelephony) m.invoke(telephony);
                        telephonyService.endCall();
                            G.lDbHeper.setlog(incomingNumber, time(), date());
                        if (G.savePreferences.getString("notification", "false") == "true") {
                            showNotification(incomingNumber);
                        }

                    } catch (Exception e) {
                        e.printStackTrace();
                    }

                    break;
            }
        }
    }
}