在 Android 中如何在没有用户交互的情况下务实地接收接听电话

How pragmatically receive the recipient call without user interaction in Android

我想编写一个 Android 代码,无需用户交互即可自动接收收件人 phone 呼叫? 是否有 anyway/possibility 可以这样做,或者我只是在浪费宝贵的时间? 因为我有 google 但没有找到任何相关结果?

我尝试实现相同的功能并且它工作完美,但对于某些设备它不起作用..

private void acceptCall() {

        new Thread(new Runnable() {

            @Override
            public void run() {
                try {
                    System.out.println("execute input keycode headset hook");
                    System.out.println("input keyevent " + Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK));
                    Runtime.getRuntime().exec("input keyevent " + Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK));

                } catch (IOException e) {
                    // Runtime.exec(String) had an I/O problem, try to fall back
                    System.out.println("send keycode headset hook intents");
                    String enforcedPerm = "android.permission.CALL_PRIVILEGED";
                    Intent btnDown = new Intent(Intent.ACTION_MEDIA_BUTTON).putExtra(
                            Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK));

                    Intent btnUp = new Intent(Intent.ACTION_MEDIA_BUTTON).putExtra(
                            Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK));

                    sendOrderedBroadcast(btnDown, enforcedPerm);
                    sendOrderedBroadcast(btnUp, enforcedPerm);

                    System.out.println("Exception " + e.toString());
                }
            }

        }).start();

    }