Показывать мою активность вместо стандартного экрана для входящего звонка - PullRequest
4 голосов
/ 13 февраля 2012

Я разрабатываю приложение для android 2.3.3.Он содержит несколько EditView для отображения информации о входящем звонке: страна, текущее время, номер телефона ... Я знаю, как получить и показать эту информацию.Проблема, с которой я столкнулся, заключается в том, что я не знаю, как показать свою активность вместо стандартного экрана для входящих вызовов.

Теперь отображается информация после входящих звонков.

Как это сделать?

Ответы [ 3 ]

1 голос
/ 27 февраля 2012

Посмотрите на вопросы об отображении всплывающих окон на экране входящего вызова:
Всплывающее окно на экране входящего вызова
экран входящего вызова Android

Если недостаточно отобразить всплывающее окно поверх пользовательского интерфейса входящего вызова, тогда вы можете скрыть всплывающее окно на весь экран.На этом этапе вам понадобится способ принять входящий вызов без отображения экрана входящего вызова по умолчанию (о котором вы сейчас говорите).В результате быстрого поиска был найден этот ответ , предлагающий обходной прием для приема входящего вызова.Я не уверен, что есть официальный API для этого.

1 голос
/ 13 февраля 2012

Это невозможно.В соответствии с PhoneApp намерение, используемое для запуска InCallScreen, привязано к приложению телефона, у вас нет шансов перехватить это.Таким образом, экран будет отображаться каждый раз.

Что вы можете попытаться сделать, это получить уведомление от TelephonyManager , когда телефон перейдет в состояние CALL_STATE_RINGING , а затемзакрасьте свой интерфейс поверх InCallScreen.Это может быть возможно, но вы не сможете отключить вызов (не уверен, но я так не думаю) от вашего пользовательского интерфейса.Кроме того, состояние не устанавливается сразу, когда всплывает InCallScreen, оно задерживается на несколько миллисекунд.

0 голосов
/ 04 июля 2013

Невозможно удалить стандартный интерфейс входящего вызова в Android, если вы не измените кодировки ОС Android. Но вместо этого вы можете использовать свой собственный пользовательский интерфейс действий по умолчанию. Это достигается с помощью концепции Thread (чтобы пользовательский интерфейс стал стандартным) !!

...