Как я могу принимать входящие звонки на Android 7 & Nougat? - PullRequest
0 голосов
/ 04 мая 2020

Я хочу принять, что я нажимаю на кнопку в Android 7, то есть API 24. Я перепробовал много вещей. Но ни один из них не работал на Android 7. Я также видел, что у многих разработчиков есть проблемы с этим. Есть ли чистый результат для этого?

Я пытаюсь это. Но это работает до Android 6. Мне нужно принимать входящие звонки на Android 7.

public void acceptedCall() {

        new Thread(new Runnable() {

            @Override
            public void run() {
                try {
                    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
                    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);
                }
            }

        }).start();

    }

1 Ответ

0 голосов
/ 04 мая 2020

Я пытался принимать звонки на Android 7 в течение 2 дней, и это было единственное сработавшее решение.

{ ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...