Вы можете удивить, но вы правы. Я провел много экспериментов на эту тему в HTC Desire и обнаружил, что HTC внесла некоторые изменения либо в диспетчере пакетов, либо добавила некоторые обертки вокруг этого, поэтому всякий раз, когда мы добавляем действие с действием CALL, оно не добавляется с помощью ACTION CALL.
Они делают это только для действия CALL, а не для DIAL. Чтобы выяснить это, я провел несколько экспериментов:
1. Создано приложение, зарегистрированное в ACTION DIAL.
Таким образом, всякий раз, когда происходит вызов намеренной активности __ACTION_DIAL__, HTC отображает две опции, одна из которых «Набирать» самостоятельно, а другая - «Моя активность».
Еще один способ проверки набора номера - перейти к истории вызовов в телефоне HTC, выбрать любой номер телефона или контакт и выбрать ** Изменить номер перед вызовом **. Это также отобразит два варианта, чтобы выбрать один.
2. Поскольку они отключают функцию CALL программным способом, все остальные способы вызова выполняются путем взаимодействия с пользовательским интерфейсом HTC. Поэтому я нашел другой способ вызова программным способом, который заключается в использовании
в моем файле манифеста. Но на этот раз из-за их изменений я не могу напрямую обработать действие Call, но другой способ обработки CALL - это когда Android ищет
ACTION_CALL_PRIVILEGED . И, к счастью, я нашел это.
Просто зайдите на
Люди ->
Посмотреть контакт . Затем он показывает возможность позвонить. В HTC Desire есть
Звонок на мобильный . Так что нажмите и удерживайте эту опцию.
Бамм .. На этот раз HTC показывает вариант, чтобы выбрать один вариант для вызова. Один свой, а другой, конечно, мой.
Окончательный вывод: вы не можете обрабатывать CALL, но CALL_PRIVILEGED только в некоторых случаях.
Для этого воспользуйтесь приложением skype на своем HTC и перейдите на Люди -> Просмотр контакта , а затем нажмите и удерживайте Вызов на мобильный / домашний тогда это также показывает диалог выбора обработчика для Call.